這篇文章主要匯總介紹了幾種解決PHP+MYSQL中文亂碼問題的方法,十分的實用,有需要的小伙伴可以參考下。
從MySQL 4.1開始引入多語言的支持,但是用PHP插入的中文會出現亂碼.無論用什么編碼也不行.
解決這個問題其實很簡單.
1.在建表的時候設置編碼類型為gb2312_chinese_ci.
2.在PHP頁面的數據庫連接語句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如
?
1 2 3 4 5 6 7 8 9 10 $db_host="localhost"; $db_user="root"; $db_password="password"; $db_name="test"; $link=my寫入頁面和讀取頁面都加入這行.這樣在MYSQL里面的中文就能正常顯示了.
相關資料:
從MySQL 4.1開始引入多語言的支持,而且一些特性已經超過了其他的php?/%CA%FD%BE%DD%BF%E2%CF%B5%CD%B3' target='_blank'>數據庫系統。
MySQL4.1的字符集支持(Character Set Support)有兩個方面:字符集(Characterset)和排序方式(Collation)。對于字符集的支持細化到四個層次:服務器 (server),數據庫(database),數據表(table)和連接(connection)。
查看系統的字符集和排序方式的設定可以通過下面的兩條命令:!
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 mysql> show variables like 'character_set_%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 7 rows in set (0.00 sec) mysql> show variables like 'collation_%'; +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | latin1_swedish_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_ci | +----------------------+-------------------+ 3 rows in set (0.00 sec)新聞熱點
疑難解答
圖片精選