【发布时间】:2011-12-19 15:57:06
【问题描述】:
我的 php / mysql 应用程序正在尝试将以下内容插入 varchar 字段:
l
..但是我在表中的数据存储为:
ł
这是我必须在 php 或 mysql 中处理的事情吗?
非常感谢任何建议。
谢谢保罗
更多信息 - 数据是用户输入,输入到文本框中,然后将其值插入 mysql。
更新:代码
function addNewCustomer($data, $aid){
$now = date('Y-m-d H:i:s');
$row = mysql_fetch_array(mysql_query("SELECT MAX(CustomerID) FROM tbl001_Customer"));
$query = "INSERT INTO tbl001_Customer
(CustomerID,CustomerName,Country,Address1,Address2,Address3,Address4,Postcode,PhoneNumber)
VALUES ('".str_pad($row[0]+1,5,'0',STR_PAD_LEFT)."','{$data['quote_customer_name']}','{$data['quotecountry']}',
'{$data['quote_address1']}','{$data['quote_address2']}','{$data['quote_town_city']}',
'{$data['quote_country']}','{$data['quote_postcode']}','{$data['quote_primary_phoneno']}')";
if (!mysql_query($query)) {
$isError = true;
echo mysql_error();
}
【问题讨论】:
-
数据从何而来?在我看来,好像它是在那里编码的。
-
这里似乎已经调用了 htmlentities()。你有一些代码吗? Mysql 不会像这样转换它。如果要存储波兰字符而不进行编码等,则需要检查mysql中表的字符集。
-
如果我们没有看到一些代码,我们就看不到编码的来源。但是,将其转换为 HTML 实体并不是一个坏主意,因为它总是会正确保存,并且可以在输出时直接使用。
-
CustomerID 创建真是太棒了。我只能这么说,因为代码中没有与编码问题相关的内容。
-
我遇到问题的字段是在插入“CustomerName”时。
标签: php mysql character-encoding special-characters