3

变音符号 http://img98.imageshack.us/img98/3383/dijakritickiznakovi.gif

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

4

2 回答 2

4

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

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

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

希望这可以帮助。

于 2009-10-04T14:45:06.640 回答
3

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

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

于 2009-10-04T12:47:17.673 回答