【发布时间】:2015-01-16 11:46:50
【问题描述】:
我有一个存储在服务器上的数据库
utf8_general_ci
我所有的页面都被强制进入
utf8
我与数据库的连接是这样的:
return new PDO('mysql:host=localhost;dbname=XXXX',
'XXXX', 'XXXX', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4",
PDO::MYSQL_ATTR_LOCAL_INFILE => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
但我什至尝试过作为选项 "设置名称 utf8"
当我尝试解析我的结果集时,我总是遇到一些文本字段的问题,如果我尝试命令喜欢:
$originalEncoding = mb_detect_encoding($fieldWithProbs);
回到我身边
ASCII
然后如果我尝试使用以下命令对其进行转换:
$newEncodedData = mb_convert_encoding($fieldWithProbs, 'UTF-8');
它似乎不起作用,如果我再次询问编码类型仍然是 ASCII。 奇怪的是,它可以在本地工作,但不能在数据库集上具有相同类型编码的远程服务器上工作。 我该如何解决这个问题?
【问题讨论】: