MySQL - 俄语字符显示不正确

时间:2010-11-30 16:55:05

标签: mysql encoding cyrillic

我必须制作一个俄语版的网站,但我无法找到,如何将俄文字符插入数据库。

我尝试了几乎所有可能的编码,但它只显示:

???????? ?????????? ??????? ??????? ? ????? ?? ????????????? ? ???????, ??????? ????? ??????? ???????? ????? .??? ??????????? ???????? ????? ?? ????? ?????????? ? ????? ????????.
??????????? ?????? ?? ???????? ????? ?? 20 ???????. ???????? ??? ?? ??????????? ?????????????? ????? ? ????????????? ??????? ??????. ? ???????, ? ??????? ? ?.?. 

2 个答案:

答案 0 :(得分:13)

  1. 确保数据库charset / collat​​ion为UTF-8
  2. 在页面上插入这些俄语字符(表单,textarea),通过将Content-Type设置为text/html; charset=utf-8,确保编码为UTF-8。直接在表格输入中输入俄语文本。
  3. 在处理此表单的处理页面(将其插入数据库)中,请务必执行SET NAMES utf8,以便在插入数据之前将其存储为UTF-8 事先单独查询。
  4. 在视图中呈现数据库中的内容时,请确保Content-Typetext/html; charset=utf-8
  5. 确保内容类型 windows-1251或iso-8859-1 / latin1。确保数据库charset / collat​​ion不是ISO-8859-1 / Latin1。

答案 1 :(得分:0)

要在数据库中存储俄语字符,您的数据库应支持UTF-8编码。 使用以下查询修改表以启用UTF-8编码。

ALTER TABLE t1 CONVERT TO CHARACTER SET utf8