MySQL db(utf-8)中的克罗地亚变音符号

时间:2009-10-04 12:13:43

标签: mysql utf-8 collation diacritics

Diacritic signs http://img98.imageshack.us/img98/3383/dijakritickiznakovi.gif

因此,下面显示标题的符号应该以这种方式显示 UTF-8实体列在HTML(utf-8)标题下面(这里是列表:LINK
最后一行显示了我的数据库中存储的内容 db表的排序是utf8_unicode_ci 我想db中的符号不​​应该像我的情况那样? 从数据库加载时,它们在页面上正确显示,但它们都不是由给定链接的utf-8表显示的。即使我正确地看到他们也许其他人不会?

2 个答案:

答案 0 :(得分:4)

设置MySQL表格字符集是不够的 - 您还应该注意为客户端,连接和结果设置正确的字符集,默认情况可能因服务器而异,使您的数据库不可移植:相同的数据库内容可能以不同方式显示移动到另一台服务器。

我已经将斯洛文尼亚文本存储到MySQL中一段时间​​了,这对我有用:

  • 连接后您要做的第一件事就是发出“SET NAMES utf8”查询
  • 确保您存储的字符串是utf-8开头:如果您从网页表单中获取它们,请确保该页面为UTF-8
  • 要小心你用什么工具在线浏览/编辑数据库内容:PhpMysqlAdmin绝对不安全。

希望这有帮助。

答案 1 :(得分:3)

您似乎试图在数据库中存储HTML编码的字符串。不要这样做,它只会破坏你做可靠搜索等字符串操作的能力。您应该能够将原始UTF-8编码字符作为字节存储在数据库中。

您没有说明您正在使用什么环境来读取数据库,或者您是如何在底部获取“不正确”的字符串(使用ISO-8859-1编码读取的UTF-8字节)。如果它们出现在您的网页中(并且您在标题和/或<meta>标记中指定了UTF-8),那么您可能就在那里。