mysql_real_escape_string和Apostrophe问题
-
11-10-2019 - |
题
因此,我一直在使用mySQL_REAL_ESCAPE_STRING将数据插入我的数据库...但是当我这样做时,它用符号代替了所有撇号 -
因此,它没有显示它,而是显示它的.......
当我从数据库中回复时,是否有一种方法可以将这些人重新转化为撇号?
解决方案
这是一些以某种方式编码问题的字符。
因为在UTF-8中, ’
(U+2019)用0xE28099编码。这代表字符 â
(0xe2), €
(0x80),以及 ™
(0x99)在 Windows-1252.
所以看来你只是忘了 指定正确编码的输出字符 因此,浏览器使用其默认字符编码Windows-1252。
其他提示
申请 mysql_set_charset
在您的PHP中使用UTF-8。
确保您的数据库和应用程序使用相同的字符编码。
在二进制中 '
价值相同 ’
, ,因此您需要确保编码设置相同。
在您的PHP应用程序中,您可以使用以下两行进行指定。
define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);
这将您的应用程序设置为使用UTF-8字符集,您必须确保与数据库的整理匹配,然后您的问题就会消失。
您可以通过编程方式更改数据库字符设置 mysql_set_charset
功能。
不隶属于 StackOverflow