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