我在使用斯拉夫语言时遇到问题,例如Š
。当它们包含在输出中时,它们显示为菱形问号符号。
我的数据库连接使用以下命令设置为utf8:
@mysql_query("SET NAMES 'utf8_unicode_ci' COLLATE 'utf8_unicode_ci'");
大多数多语种角色出现在屏幕上。我不确定我是否正确设置了字符集。它似乎适用于匈牙利语,西班牙语,葡萄牙语,而不是斯拉夫语!
问题出在哪里?
该字段中包含大量可能的字符,这使得无法选择特定的非utf8字符集,如latin2。
这是一个全新的数据库,从头开始创建。 phpMyAdmin在屏幕上显示字符,所以我猜问题不是MySQL,而是PHP。但是,我已经设置了正确的utf8声明。
答案 0 :(得分:3)
花费数小时检查并测试所有可能的区域。 最后我在这里找到了解决方案:
UTF-8 all the way through 最佳答案有帮助。
我的问题发现是“数据访问”。 使用
修复$set_utf = mysql_query("SET NAMES 'utf8' ")
or die(mysql_error());
希望它也可以帮助别人。
答案 1 :(得分:0)
尝试将'utf8_unicode_ci'替换为'utf8_general_ci'。
E.g。我用
@mysql_query("SET NAMES 'utf8_general_ci' COLLATE 'utf8_general_ci'");
显示我的网站上的特定字符来自塞尔维亚语拉丁语,例如šđčćž
和塞尔维亚语西里尔语(абвгдђежзијклљмнњопрстћуфхцчџш
)。我不知道这是否会导致您的问题,因为我从未使用过'utf8_unicode_ci'。
在原始问题中添加更多详细信息和一些代码。