编程语言
首页 > 编程语言> > PHP显示汉字:SET NAMES’utf8’不起作用

PHP显示汉字:SET NAMES’utf8’不起作用

作者:互联网

我正在尝试使用现有的数据库,但无法在其中显示汉字.该数据库实际上首先是一个MS Access文件,我通过一个程序将其转换为mysql.无论如何,许多行中都有中文字符,我无法在任何浏览器中正确显示它们.

否则,我可以很好地显示中文字符,如果我使用phpmyadmin查看表,也可以看到它们.我到处寻找解决此问题的方法,在我看来,通常的解决方法是执行“ SET NAMES’utf8’”查询,但这只会将显示的字符从问号更改为其他奇怪的符号.

如果我在phpmyadmin中查找,则数据库和所有表的排序规则都是utf8_general_ci.

有任何想法吗?

解决方法:

对于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);

标签:cjk,utf-8,php
来源: https://codeday.me/bug/20191101/1982657.html