我有一个mysql表,里面充满了拉丁文编码的文本。我之所以知道这一点,是因为尽管我将表定义为UTF-8编码,并且发送的头文件设置为UTF-8,但我还是收到了黑色菱形中丑陋的问号。我可以正确显示数据的唯一方法是将标题更改为使用ISO-8859-1编码。
我已经尝试了我能在SO和整个网络上找到的每一个建议,但到目前为止都没有奏效。
我试图按照作者的建议:https://stackoverflow.com/a/5232411/102067,但即使我能够用我的文本阅读器正确阅读该文件,它也没有在网站上正确显示。
对于如何解决这个问题,我完全不知所措,愿意接受建议。
谢谢。
对于任何有同样问题的人,以下是我所做的。。。
我正在使用PDO连接到我的数据库,我不知道默认的连接编码是拉丁文(如果未指定)。因此,我必须指定我想要一个使用UTF-8编码的连接。
有了这个额外的参数,我的连接现在看起来像:
$pdo = new PDO('mysql:dbname=encoding_test;host=localhost', 'user', 'pass',
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));