資料庫資料在瀏覽器顯示亂碼(同瀏覽器,同資料來源,同utf8,不同伺服器)

來源:互聯網
上載者:User
同一個mysql資料來源,同一個瀏覽器,訪問線上測試無亂碼,localhost訪問就有亂碼,我想這是不是伺服器環境的問題?

補充:中文在mysql中顯示是正常的。
補充:本地和測試伺服器php.ini中default_charset都是注釋掉的。
補充:my bad, 我習慣的認為應該不是mysql設定字元編碼的問題(基於代碼都是一樣的),當我試著指定字元編碼時,問題得以解決。常理說來,編碼問題無非三個地方,php,mysql,瀏覽器設定,都統一問題一般都沒有了。

回複內容:

同一個mysql資料來源,同一個瀏覽器,訪問線上測試無亂碼,localhost訪問就有亂碼,我想這是不是伺服器環境的問題?

補充:中文在mysql中顯示是正常的。
補充:本地和測試伺服器php.ini中default_charset都是注釋掉的。
補充:my bad, 我習慣的認為應該不是mysql設定字元編碼的問題(基於代碼都是一樣的),當我試著指定字元編碼時,問題得以解決。常理說來,編碼問題無非三個地方,php,mysql,瀏覽器設定,都統一問題一般都沒有了。

按照你的說法,既然資料庫是同一個,瀏覽器也是同一個,代碼也肯定是同一個了,那麼基本上問題出在php上,
1.查看你的php配置的預設編碼是否是utf-8,最好拿phpinfo()看一下

default_charset = "utf-8";

2.查看你的資料庫連接抽象層,在php與MySQL互動的地方,是否設定了編碼規則,如果你用的是mysqli,最起碼要這樣設定一下

$mysqli->set_charset("utf8")

1、HTML 文檔的 head 指定了與後端處理常式指定的一致的編碼了沒有呢?
2、查看一下資料庫裡的表或欄位使用的編碼,是否與後端程式的編碼一致(不一致的話,比如 UTF-8 強行轉 GBK 可能導致亂碼)。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.