[英]mysql_real_escape_string and apostrophe problem
因此我一直在使用mysql_real_escape_string将数据插入到数据库中...但是,当我这样做时,它会用符号’替换所有的撇号
所以它不是显示它,而是显示它.......
当我从数据库中读回时,有没有办法将那些字母转换成撇号?
这是某种程度上的字符编码问题。
因为在UTF-8中, '
(U + 2019)用0xE28099编码。 在Windows-1252中 ,它表示字符â
(0xE2), €
(0x80)和™
(0x99)。
因此,您似乎只是忘记了正确指定输出字符编码,因此浏览器改为使用其默认字符编码Windows-1252。
在您的PHP中将mysql_set_charset
应用于UTF-8。
确保您的数据库和应用程序使用相同的字符编码。
在二进制中, '
值与’
相同,因此您需要确保编码设置相同。
在您的PHP应用程序中,您可以使用以下两行来指定它。
define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);
这会将您的应用程序设置为使用UTF-8字符集,您必须确保该字符集与数据库的排序规则相匹配,然后问题才会消失。
您可以使用mysql_set_charset
函数以编程方式更改数据库字符集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.