首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL数据库中的文本采用ISO-8859-1 (拉丁语)编码,但应采用UTF 8格式。

问MySQL数据库中的文本采用ISO-8859-1 (拉丁语)编码,但应采用UTF 8格式。
EN

Stack Overflow用户
提问于 2012-02-01 07:32:58
回答 1查看 728关注 0票数 1

我有一个mysql表,其中充满了拉丁文编码的文本。我之所以知道这一点,是因为尽管我将表定义为UTF-8编码,并且发送的标头设置为UTF-8,但我在黑色菱形中收到了丑陋的问号。正确显示数据的唯一方法是将报头更改为使用ISO-8859-1编码。

我已经尝试了所有我能在网上找到的建议,但到目前为止都没有奏效。

我试着按照作者的建议去做:https://stackoverflow.com/a/5232411/102067,但是即使我能够用我的文本阅读器正确地读取文件,它也不能在网站上正确地显示。

我完全不知所措,并乐于接受有关如何解决这个问题的建议。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-01 07:44:40

多亏了@deceze的suggestion,我终于找到了答案。

对于任何有同样问题的人,这是我所做的……

我正在使用PDO连接到我的数据库,如果没有指定,我不知道默认的连接编码是拉丁语。因此,我必须指定我想要一个使用UTF-8编码的连接。

有了这个额外的参数,我的连接现在看起来像这样:

代码语言:javascript
复制
$pdo = new PDO('mysql:dbname=encoding_test;host=localhost', 'user', 'pass',
            array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9088666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档