首頁  >  文章  >  後端開發  >  php mysql亂碼怎麼辦

php mysql亂碼怎麼辦

藏色散人
藏色散人原創
2022-12-14 17:14:475309瀏覽

php mysq亂碼的解決方法:1、透過「Alter DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin」語句修改資料庫編碼;2、透過「header("content-type:text/html; charset =utf-8")”語句設定頁面字元集。

php mysql亂碼怎麼辦

本教學操作環境:Windows7系統、PHP8.1版、Dell G3電腦。

php mysql亂碼怎麼辦?

#php mysql亂碼解決方案

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 mysql亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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