【发布时间】:2011-11-26 19:51:40
【问题描述】:
最近在我的 mysql 数据库中插入了一条包含俄语字母的记录。数据库无法正确显示它们。我可以做些什么来允许我的网站上使用多种语言?
【问题讨论】:
-
列的数据类型是什么?
-
重新标记,删除加密,改为字符编码。
标签: mysql sql database character-encoding ascii
最近在我的 mysql 数据库中插入了一条包含俄语字母的记录。数据库无法正确显示它们。我可以做些什么来允许我的网站上使用多种语言?
【问题讨论】:
标签: mysql sql database character-encoding ascii
你应该看看utf8 encoding
能否请您发布您的数据库和表使用的编码是什么? (你能发布你的数据库的结构吗?)
编辑:要在评论中回答您的问题,基本区别在于 utf8_general_ci 更快,但不关心某些特定语言的比较。您可以在我在我的帖子中提交的链接中阅读更多相关信息。事实上,它会影响排序和搜索的行为。
您希望数据库的行为方式并不重要,所有这些排序规则在不同的环境中都很有用。在你的情况下,我不会使用 utf8_bin 因为它只使用它的二进制值比较字符串。
【讨论】:
这是很久以前的事了,但是在执行插入语句时帮助我的是 utf8_decode($variable)。
例如,如果我回显查询,它会很好地显示字符,但是当执行查询时,非 ASCII 字符会出现乱码,这没有任何意义。完成 utf8_decode($variable) 后,它起作用了。
选择 nvarchar 作为列类型也可能有帮助
示例查询:
$query = 'INSERT INTO table VALUES("'.utf8_decode($variable).'");';
【讨论】: