我正在重新设计一个网站,但现有数据库存在问题: 数据库排序规则设置为utf8_unicode_ci,在表行中我调用的排序规则似乎设置为latin1_swedish_ci,其中存储的字符是日语(但即使在phpmyadmin中)你也会看到其他字符(我猜是因为latin1_swedish_ci)。
当我打印查询结果时,我得到一堆???现在使用
mysql_query('SET NAMES utf8');
mysql_set_charset('utf8',$conn);
将输出 2009–N10ŒŽ’ 2009?N10???2009–N11ŒŽ’ 2009?N11???
有什么想法吗?
最佳答案
由于该表设置为使用latin1_swedish_ci,因此无法正确存储输入的UTF-8数据。您需要切换该表以使用 utf8_unicode_ci 来处理 future 的数据,但任何现有数据基本上都已损坏。切换排序后,您必须重新输入数据才能为现有记录获取正确的日语字符。
关于php - 无法从数据库中获取要显示的正确字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2359827/