phpmyadmin亂碼問題

2021-07-13 13:25:59 字數 1403 閱讀 5944

首先,如果你出現亂碼,你一定baidu了文章,對於各種答案,肯定是頭都大了,說的都差不多,卻都不一樣煩啊。 

問題敘述:

1,從網頁提交資料庫資料,在phpmyadmin上顯示亂碼,在網頁輸出是好的 

2,直接從資料庫插入資料,但是輸出到網頁後是亂碼 3,從網頁提交資料庫資料,在phpmyadmin上顯示正確,但是網頁輸出是亂碼。 對於亂碼問題就這三種了吧!!

今天我親自試驗了一下,下面公布我的結果(我用的是utf-8,其他同理,utf-8特別注意) 總述,亂碼,原因,編碼不一致,為什麼?

答曰:提交資料庫的資料需要編碼,資料庫儲存需要編碼,從資料庫提取的資料還需要編碼。這三種編碼需要一致! 

首先,你要保證所有輸出輸入網頁都有編碼宣告 或者 header("content-type: text/html; charset=utf-8"); header("content-type: text/html; charset=utf-8"); 注意!!這裡是utf-8,不是utf8 其次,相應資料的編碼整理應該為utf8_general_ci。

1、從網頁提交資料庫資料,在phpmyadmin上顯示亂碼,在網頁輸出是好的,說明提交的資料和資料庫的編碼不一樣,提取資料的編碼和提交資料的編碼一樣 a->b->a型 這你就懂了吧,a是提交和提取資料的編碼,b是資料庫儲存用的編碼。

修改方法: 如果你不是新手的話,資料庫連線檔案應該是單獨的吧比如execut_dql()(供查詢用)或者execut_dml()(供修改用),所有的語句應該都是通過這兩個函式進行的所以在這兩個函式裡的第一行,先寫上mysql_query("set names 'utf8'"); 注意!!是utf8,不是utf-8 例如下面的(在mysql_query()你的sql語句之前,全部 set name 'utf8'一下) mysql_query("set names 'utf8'"); $res=mysql_query($sql,$this->conn) ordie(mysql_error()); mysql_query("set names 'utf8'"); $res=mysql_query($sql,$this->conn) or die(mysql_error()); 其實,你把所以關於資料庫查詢、插入的語句前全部mysql_query("set names 'utf8'");後,亂碼問題就已經解決了,不過你以前插入的資料要重新插入了。 

2、直接從資料庫插入資料,但是輸出到網頁後是亂碼。b->a型 這個不用再說了吧,你把查詢語句前先 mysql_query("set names 'utf8'"); //你的查詢 之後重新整理下就不是亂碼了。 

3、從網頁提交資料庫資料,在phpmyadmin上顯示正確,但是網頁輸出是亂碼。a->a->b型 同上,你把查詢語句前先 mysql_query("set names 'utf8'"); 之後重新整理下就不是亂碼了。 所以總結出,只要保證操作過程中,輸入,儲存,輸出的字元編碼一致,你想讓他亂碼都難

phpmyadmin的亂碼問題

hpmyadmin管理mysql資料庫非常方便,特別是在採用lampp架構的環境中。近日在使用過程中,遇到中文亂碼問題,參考 得以解決 我的使用環境如下 mysql 5.0.41 phpmyadmin 2.10.1 mysql 字符集 cp1252 west european latin1 coll...

解決phpMyAdmin資料亂碼問題

解決phpmyadmin資料亂碼問題 方法一 語言選擇chinese simplified zh utf 8 如果瀏覽含有中文的資料庫表時,中文顯示為亂碼 html預設utf 8編碼,mysql預設latin1字符集。隨便寫段php 訪問次資料庫表內容,web瀏覽器顯示中文正常。問題出在只在使用ph...

解決phpmyadmin中文亂碼問題。。。

解決phpmyadmin中文亂碼問題。去phpmyadmin的根目錄下,開啟以下這個檔案 libraries select lang.lib.php 1 找到有 zh gb2312 的那一行,把 zh gb2312 改成 zh gb2312 utf 8 為什麼這樣加?那是因為伺服器會www.cppc...