Brophp架構開發時串連資料庫讀取UTF8亂碼的解決(轉)

來源:互聯網
上載者:User

標籤:

Brophp架構開發時串連資料庫讀取UTF8亂碼的解決辦法 (2012-09-15 10:41:22) 轉載▼
標籤: 雜談 it php 分類: 建站技術
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->exec(‘SET NAMES utf8‘);

如果是mysqli方式串連資料庫就修改下mysqli.class.php也能解決
加上用utf8串連就行了。

$mysqli=new mysqli(HOST, USER, PASS, DBNAME);
$mysqli->query("SET NAMES ‘utf8‘");

Brophp架構開發時串連資料庫讀取UTF8亂碼的解決(轉)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.