如何使用php函数编码特殊字符

时间:2011-07-01 07:33:30

标签: php sql database

我的原始文字为1 1/2"w x 1/2"h,但在数据库中,它看起来像1 1/2â€w x 1/2â€h

我正在使用stripslashes()。

但我仍然无法转换加密的字符串。

谢谢大家

我刚刚添加到html。

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

2 个答案:

答案 0 :(得分:3)

我不知道你在哪里阅读,你必须使用stripslashes()来逃避数据库输入或输出,但这些信息是错误的。您始终必须使用数据库库提供的特定转义机制。例如,如果您使用PDO,则可以使用bindValue()将值注入SQL代码。

关于1 1/2â€w x 1/2â€h,看起来像一个多字节的UTF-8字符串被误解为某些单字节编码(可能是ISO-8859-1)。看起来您要么尝试将UTF-8数据放入Latin1数据库,要么在连接到数据库时提供错误的字符集。在第一种情况下,最好的解决方案是更改数据库字符集以匹配应用程序的字符集(如果您的DBMS允许这样做)。在第二种情况下,您可能会在PHP manual page for whatever your DB library is中找到解决方案:寻找一些方法来指定连接的字符集或编码。

答案 1 :(得分:0)

在您的数据库,表格和列上尝试UTF-8排序规则(utf8_general_ci)。