一尘不染

如何在phpMyAdmin中显示UTF-8字符?

mysql

我的数据库已正确设置为UTF-8,并且正在处理包含日语字符的数据库。如果我从mysql命令行执行SELECT * …,我会正确看到日语字符。当将数据从数据库中拉出并显示在网页上时,我可以正确地看到它。

但是,在phpMyAdmin中查看表数据时,我只会看到垃圾文本。即。

ç§ã日本料ç†ãŒå¥½ããããã㥥œœ¬æ–™ç†ã…

如何获取phpMyAdmin以日语显示字符?

HTML页面上的字符编码设置为UTF-8。

编辑:

我尝试导出数据库并在geany中打开.sql文件。即使编码设置为UTF-8,字符仍会出现乱码。(但是,对数据库执行mysqldump也会显示乱码)。

为数据库和所有表正确设置了字符集(在文件的任何位置都找不到“拉丁”)

CREATE DATABASE `japanese` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

我已经将这些行添加到my.cnf并重新启动了mysql,但是没有任何变化。我正在使用Zend Framework将数据插入数据库。

我将悬赏这个问题,因为我真的很想找出答案。


阅读 331

收藏
2020-05-17

共1个答案

一尘不染

我做了更多的谷歌搜索,发现了页面

该命令似乎没有意义,但是我还是尝试了一下:

在函数末尾的文件/usr/share/phpmyadmin/libraries/dbi/mysqli.dbi.lib.php中,在我添加PMA_DBI_connect()return语句之前:

mysqli_query($link, "SET SESSION CHARACTER_SET_RESULTS =latin1;");
mysqli_query($link, "SET SESSION CHARACTER_SET_CLIENT =latin1;");

而且有效!我现在在phpMyAdmin中看到日语字符。WTF?为什么这样做?

2020-05-17