Brophp框架开发时连接数据库读取UTF8乱码的解决(转)

Brophp框架开发时连接数据库读取UTF8乱码的解决
用brophp框架读取数据库的时候发生乱码,数据库和源码都采用的utf-8编码,按理说不应该出现乱码的。仔细分析应该是出在数据连接时,后来看到一个高手的解答总算弄明白了。英文正常读取而中文乱码,基本上都是字符集的问题。要在PHP端发送set names utf8.声明和数据库握手的时候也使用utf8字符集了。

如果是用pdo连接的修改下在dpdo.class.php就完全解决了

短连接下可以这样修改:
\(pdo=new PDO(\)dsn, USER, PASS, array(PDO::ATTR_PERSISTENT=>false,MYSQL_ATTR_INIT_COMMAND => “SET NAMES ‘utf8’;”));

BORPHP用的是长连接可以参照下面修改

\(pdo=new PDO(\)dsn, USER, PASS, array (PDO::ATTR_PERSISTENT=>true));
\(pdo-&gt;exec(&#39;SET NAMES utf8&#39;);</p> <p>如果是mysqli方式连接数据库就修改下mysqli.class.php也能解决<br/>加上用utf8连接就行了。</p> <p>\)mysqli=new mysqli(HOST, USER, PASS, DBNAME);
$mysqli-&gt;query(“SET NAMES ‘utf8’”);