我得到的是小盒子而不是瑞典字符 å、ä 和 ö,尽管我在我能想到的任何地方都使用 UTF-8!我使用 UTF-8 从记事本中保存了没有 BOM 的文件,并且 HTML 页面具有 meta charset="utf-8",并且我将数据库中的表更改为 UTF8_swedish_ci。我错过了什么?一些帮助!谢谢!
编辑:使用拉丁文并将所有文件保存为拉丁文而不是 UTF8 会更好吗?但是我仍然可以在 HTML 头中使用 meta charset="utf-8" 吗?
检查您在 MySQL 连接中使用的排序规则?设置正确的一个。
您可以使用查询更改当前连接的排序规则:
set names utf8 collate utf8_swedish_ci")
我相信PHP存在问题。我遇到了您的情况:UTF8 中的数据库,UTF8 中的 HTML 页面,但是我通过mysql_fetch_assoc()获得的数据编码不正确(因此,显示 ? 字符,如您的情况)。
我的解决方案是在我的 php 源代码中使用utf8_encode()和utf8_decode()来处理数据库的输入和输出。
看看这个解决方案是否适合你。
PS。排序规则不是 char 编码。谷歌什么是排序规则。据我所知(不多)默认为 swedish_ci 因为瑞典语是最完整的字符。如果我错了,请纠正这个。