最近有一条记录被插入到包含俄文字母的mysql数据库中。数据库无法正确显示它们。我可以做些什么来在我的网站上使用多种语言?
答案 0 :(得分:2)
你应该看看utf8 encoding
您能否发布数据库和您的表格所使用的编码? (您可以发布数据库的结构吗?)
编辑:要在评论中回答你的问题,基本的区别是utf8_general_ci更快,但不关心某些特定语言的比较。您可以在我上面提交的链接中阅读更多相关内容。实际上它会影响排序和搜索的行为。
您希望数据库的行为方式很重要,所有这些排序规则在不同的环境中都很有用。在你的情况下,我不会使用utf8_bin,因为它只使用它的二进制值来比较字符串。
答案 1 :(得分:0)
这是很久以前的事了,但是在执行insert语句时,帮助我的是utf8_decode($ variable)。
例如,如果我回显查询它会显示字符就好了,但是当执行查询时,非ASCII字符出现乱码,这没有任何意义。在执行了utf8_decode($ variable)后,它运行了。
选择nvarchar作为列类型也可能有帮助
示例查询:
$query = 'INSERT INTO table VALUES("'.utf8_decode($variable).'");';