我正在使用带有MySQL 5.6的phpMyAdmin版本4.4.4(charset设置为UTF-8 Unicode)。相关表格的排序规则设置为utf8-general-ci
,所有字段也设置为utf8-general-ci
排序规则。我的php.ini文件有default_charset = "UTF-8"
。
尽管所有三个应用程序都有UTF-8设置,但在phpMyAdmin中查看表时,unicode字符显示为乱码。所以,而不是看......
Søren
...在phpMyAdmin中我看到......
Søren
即使它在phpMyAdmin中显示乱码,它也会在网站上正确显示。唯一的问题是phpMyAdmin。
如果我尝试使用phpMyAdmin插入新记录并在文本字段中输入Søren
,则在phpMyAdmin中显示如下...
Søren
在那里看起来是正确的,但是,在网页上,它显示如下......
S�ren
ø字符被黑色菱形内的问号替换,而不是在网站上显示正确的unicode字符。
到底发生了什么事?如何显示phpMyAdmin并将unicode字符正确插入到表中而不进行修改?谢谢!
答案 0 :(得分:0)
我的php.ini文件有default_charset =" UTF-8"。
这只影响用于某些PHP内置函数的字符集,如htmlentities
。
MySQL使用自己的字符集来解码发送它的内容。可以使用$mysqli->set_charset('utf8')
为mysqli设置,或mysql_set_charset('utf8')
为已弃用的mysql模块设置,或在PDO中的连接字符串中使用charset=utf8
。