我正在尝试使用我拥有的数据库,但我无法在其中显示中文字符。这个数据库实际上是一个MS Access文件,我用一个程序把它转换成了mysql。无论如何,许多行都有中文字符,我无法让它们在任何浏览器中正确显示。
除此之外,我可以很好地显示中文字符,如果我使用phpmyadmin查看表格,我也可以看到它们。我到处寻找这个问题的解决方案,在我看来,通常的解决方案是执行"SET NAMES 'utf8'“查询,但这只是将显示的字符从问号更改为其他奇怪的符号。
如果我查看phpmyadmin,那么数据库和所有表的排序规则都是utf8_general_ci。
有什么想法吗?
发布于 2012-05-20 23:36:52
对于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);发布于 2012-05-20 23:47:29
你必须确认几件事:
SET NAMES utf8;)header('Content-Type: text/plain; charset=utf-8');或您希望设置的任何mime类型设置正确的字符集
如果一切顺利,它应该正确地显示您的数据。
https://stackoverflow.com/questions/10674762
复制相似问题