首頁  >  文章  >  後端開發  >  如何解決php用戶資訊亂碼問題

如何解決php用戶資訊亂碼問題

藏色散人
藏色散人原創
2021-12-22 09:12:491855瀏覽

php使用者資訊亂碼的解決方法:1、修改資料庫編碼;2、修改表格的編碼;3、修改欄位的編碼;4、修改原始檔的charset;5、修改頁面charset;6、 PHP頁面字符集等。

如何解決php用戶資訊亂碼問題

本文操作環境:Windows7系統,PHP7.1版,Dell G3電腦。

如何解決php使用者資訊亂碼問題?

php mysql的utf-8中文亂碼問題的解法

建議資料庫用utf8編碼

##問題彙總:

#1.MySQL資料庫預設的編碼是utf8,如果這種編碼與你的PHP網頁不一致,可能就會造成mysql亂碼.

2.MYSQL中建立表格時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.

3.MYSQL創建表時添加字段是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.

4.使用者提交頁面的編碼與顯示資料的頁面編碼不一致,就肯定會造成php頁面亂碼.

5.如使用者輸入資料的頁面是big5碼, 顯示使用者輸入的頁面卻是gb2312,這種100%會造成PHP頁面亂碼.

6.PHP頁面字元集不正確.

7.PHP連線MYSQL資料庫語句指定的編碼不正確.

使用mysql php產生亂碼的原因都了解得很清楚了,那麼解決就不困難了.

針對不同問題的解決方法:

1.mysql資料庫預設的編碼是utf8,如果這種編碼與你的PHP網頁不一致,可能就會造成MYSQL亂碼.

修改資料庫編碼,如果是資料庫編碼不正確,可以在phpmyadmin 執行以下指令:

Alter DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上指令就是將test資料庫的編碼設為utf8.

2.MYSQL中建立表格時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.

修改表的編碼:

Alter TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上指令就是將一個表category的編碼改為utf8.

3.MYSQL建立表格時加入欄位是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.

修改欄位的編碼:

Alter TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

以上指令就是將test表中dd的欄位編碼改為utf8.

4.使用者提交頁面的編碼與顯示資料的頁面編碼不一致,就肯定會造成PHP頁面亂碼.

如果是這種情況容易解決,只需檢查下頁面,修改源文件的charset即可.

5.如用戶輸入資料的頁面是big5碼, 顯示用戶輸入的頁面卻是gb2312,這種100%會造成PHP頁面亂碼.

這種情況也是修改頁面charset即可.

6.PHP頁面字元集不正確.

為了避免PHP頁面亂碼的發生,PHP頁面開始第一句

header("content-type:text/html; charset=utf-8");
//强行指定页面的编码,以避免乱码

7.PHP連接MYSQL資料庫語句指定的編碼不正確.

在連接資料庫的語句中.

mysql_connect('localhost','user','password');
mysql_select_db('my_db');
mysql_query("set names 'utf8'"); //select 数据库之后加多这一句

推薦學習:《

PHP影片教學

以上是如何解決php用戶資訊亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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