首頁  >  文章  >  資料庫  >  為什麼在 MySQL 中使用 PDO 時,我的 UTF-8 編碼資料顯示為亂碼?

為什麼在 MySQL 中使用 PDO 時,我的 UTF-8 編碼資料顯示為亂碼?

Barbara Streisand
Barbara Streisand原創
2024-11-04 13:17:011034瀏覽

Why does my UTF-8 encoded data appear as gibberish when using PDO with MySQL?

PDO MySQL UTF-8 編碼問題

問題:在PHP、UTF 中將PDO 與資料庫結合使用時插入資料庫的-8 編碼資料顯示為亂碼。

可能原因:

  • 資料庫連接建立過程中字元集和編碼設定處理不正確。

解決方案:

  • 在資料庫連接初始化時確保正確的字元集和編碼配置。使用下列語法:
<code class="php">$pdo = new PDO( 
    'mysql:host=hostname;dbname=defaultDbName', 
    'username', 
    'password', 
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") 
); </code>

此行在 PDO 連線上強制使用 UTF-8 編碼並解決編碼問題。

警告: 此解決方案適用於 PHP 5.3.5 及更早版本。有關 PHP 5.3.6 及更高版本,請參閱其他地方提供的替代解決方案。

以上是為什麼在 MySQL 中使用 PDO 時,我的 UTF-8 編碼資料顯示為亂碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn