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

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

有帮助吗?

解决方案

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

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

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

希望这可以帮助。

其他提示

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top