2013-03-25 88 views
1

我使用的数据库为utf8_general_ci制作,表格也是utf8_general_ci,一切可以搞砸的编码设置为utf8_general_ci。PDO mysql UTF-8编码问题

我为PDO的连接字符串看起来是这样的:

try { 
    $new = new PDO('mysql:host=' . $config['host'] . ';dbname=' . $config['database'] . ';charset=utf8', $config['username'], $config['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")); 
    $new->exec('SET NAMES utf8'); 
} catch (PDOException $e) { 
    print "Error!: " . $e->getMessage() . "<br/>"; 
    die(); 
} 

不幸之后,从数据库中选择我的编码得到弄糟。谁能告诉我我做错了什么?

+0

你在_header_中有'吗? – Vucko 2013-03-25 19:57:02

+0

也,你的PHP问题utf8?记住链条的每个部分都需要是utf。顺便说一句,我使用的连接字符串实际上是相同的,但我从来没有使用集名称。您可以使用headers_sent来查看哪些php高达 – 2013-03-25 19:58:38

+0

Nope正在处理控制台应用程序,并将数据库中的字符串与文件中的字符串进行比较。文件保存在没有BOM的utf8中。 – J33nn 2013-03-25 19:59:33

回答

0

感谢您的常识答案我已经处理了编码有其他问题。由于控制台编码,显示奇怪的字符而不是原始字符。