我正在尝试使用我拥有的数据库,但我无法在其中显示中文字符。数据库实际上是一个MS Access文件,我用程序转换成了mysql。无论如何,很多行都有中文字符,我无法在任何浏览器中正确显示它们。
我可以正常显示中文字符,如果我使用phpmyadmin来查看表格,我也可以看到它们。我四处寻找这个问题的解决方案,在我看来,通常的解决方法是执行“SET NAMES'utf8'”查询,但这只会将显示的字符从问号更改为其他奇怪的符号。
如果我查看phpmyadmin collation,则为数据库和所有表格提供utf8_general_ci。
有什么想法吗?
答案 0 :(得分:4)
对于MySQL DB,这解决了问题:
$dbh = mysql_connect($hostname, $username, $password);
mysql_select_db($db, $dbh);
mysql_set_charset('utf8', $dbh);
PDO解决方案:
$dbh = new PDO('mysql:host=$hostname;dbname=$db;charset=UTF-8', $username, $password);
答案 1 :(得分:0)
你必须确定一些事情:
SET NAMES utf8;
)header('Content-Type: text/plain; charset=utf-8');
或您希望设置的任何mime类型如果一切顺利,它应该正确显示您的数据。