phpMyAdmin不会正确显示或插入Unicode字符到数据库

时间:2015-05-26 22:54:04

标签: mysql unicode utf-8 phpmyadmin

我正在使用带有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字符正确插入到表中而不进行修改?谢谢!

1 个答案:

答案 0 :(得分:0)

  

我的php.ini文件有default_charset =" UTF-8"。

这只影响用于某些PHP内置函数的字符集,如htmlentities

MySQL使用自己的字符集来解码发送它的内容。可以使用$mysqli->set_charset('utf8')为mysqli设置,或mysql_set_charset('utf8')为已弃用的mysql模块设置,或在PDO中的连接字符串中使用charset=utf8