我有一些文本存储在MySQL数据库中,就像这样:“汤姆给了莎拉5£的书”。直到上周一,当从网站上拉出时,它还完美地显示在网站上,显示"Tom为了莎拉的书给了她5 Up“。
现在,即使我没有更改/安装/卸载/更新任何东西,它也停止了工作。
数据库中的旧值显示为"Tom为了莎拉的书给了她5£“。在将此文本保存到数据库的表单上,它过去保存到数据库中的格式是"Tom为了她的书给了Sarah to 5“,现在保存为"Tom为了她的书给了Sarah ?5”,并在网站上显示为("Tom为了她的书给了Sarah ?5“)。
什么会导致这种情况?我正在拔掉我的头发,试图解决这个问题。我一直在使用utf8_encode/utf8_decode,并对页面使用ISO-8859-1和UTF-8字符集,虽然每种方法产生不同的结果(例如"?5“/”GB5“/”GB5“/ "�5”/ "☐5“),但没有一种方法是正确的。
问题不可能是MySQL,因为我可以在phpMyAdmin中看到web符号正常,并且web符号在不同的web服务器上工作正常。
帮助!
发布于 2010-01-22 01:06:58
我不会一遍又一遍地重复这一点,我只会给你一个链接:
如果你遵循chazomaticus答案中提到的步骤,你的问题就会消失。
您的特定数据库/表/字段编码中的可能是问题所在。
发布于 2011-08-24 22:02:04
如果您的数据库设置为utf8,这可能还不够。确保连接字符集设置为UTF8。执行以下查询:'SET NAMES utf8;‘
https://stackoverflow.com/questions/2111154
复制相似问题