我有一个mysql表,其中充满了拉丁文编码的文本。我之所以知道这一点,是因为尽管我将表定义为UTF-8编码,并且发送的标头设置为UTF-8,但我在黑色菱形中收到了丑陋的问号。正确显示数据的唯一方法是将报头更改为使用ISO-8859-1编码。
我已经尝试了所有我能在网上找到的建议,但到目前为止都没有奏效。
我试着按照作者的建议去做:https://stackoverflow.com/a/5232411/102067,但是即使我能够用我的文本阅读器正确地读取文件,它也不能在网站上正确地显示。
我完全不知所措,并乐于接受有关如何解决这个问题的建议。
谢谢。
发布于 2012-02-01 07:44:40
多亏了@deceze的suggestion,我终于找到了答案。
对于任何有同样问题的人,这是我所做的……
我正在使用PDO连接到我的数据库,如果没有指定,我不知道默认的连接编码是拉丁语。因此,我必须指定我想要一个使用UTF-8编码的连接。
有了这个额外的参数,我的连接现在看起来像这样:
$pdo = new PDO('mysql:dbname=encoding_test;host=localhost', 'user', 'pass',
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));https://stackoverflow.com/questions/9088666
复制相似问题