PHP+MYSQL 出現(xiàn)亂碼的解決方法
肯定都已經(jīng)解決了JSP里的亂碼問(wèn)題,不過(guò)還是有些人的MYSQL亂碼問(wèn)題沒(méi)有得到解決,包括我自己,所以又找了一些資料,希望這次能完全解決MYSQL數(shù)據(jù)庫(kù)的亂碼問(wèn)題。
第一種方法,很精辟的總結(jié):
經(jīng)常更換虛擬主機(jī),而各個(gè)服務(wù)商的MYSQL版本不同,當(dāng)導(dǎo)入數(shù)據(jù)后,總會(huì)出現(xiàn)亂碼等無(wú)法正常顯示的問(wèn)題,查了好多資料,總結(jié)出自己的一點(diǎn)技巧:
WINDOWS 下導(dǎo)入應(yīng)該這樣
使用MYSQL的命令
在DOS命令下進(jìn)入mysql的bin目錄下,輸入mysql -uroot -p密碼 數(shù)據(jù)庫(kù)名稱(chēng)<要恢復(fù)的數(shù)據(jù)庫(kù), 例如我們要把D盤(pán)的一個(gè)名稱(chēng)為test.sql的數(shù)據(jù)庫(kù)恢復(fù)到本地的test2這個(gè)數(shù)據(jù)庫(kù),那么就這樣: mysql -uroot -p密碼 test2以前的國(guó)外主機(jī)用的Mysql是4.x系列的,感覺(jué)還比較好,都無(wú)論GBK和UTF-8都沒(méi)有亂碼,沒(méi)想到新的主機(jī)的Mysql是5.0版本的,導(dǎo)入數(shù)據(jù)后,用Php讀出來(lái)全是問(wèn)號(hào),亂碼一片,記得我以前也曾經(jīng)有過(guò)一次切換出現(xiàn)亂碼的經(jīng)驗(yàn),原因肯定是Mysql版本之間的差異問(wèn)題。
只好查資料,發(fā)現(xiàn)了一個(gè)解決方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的數(shù)據(jù)庫(kù)消除亂碼,對(duì)于GBK的數(shù)據(jù)庫(kù)則使用SET NAMES GBK,代碼如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");
數(shù)據(jù)庫(kù)字符集為utf-8
連接語(yǔ)句用這個(gè)
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
還有個(gè)方法就是,如果你自己的機(jī)器的話,可以更改MYSQL字符集,一般在MYSQ4和MYSQL5這兩個(gè)版本中有效
第二個(gè)方法:很不錯(cuò)的解說(shuō),可以試一下
mysql亂碼處理總結(jié):
(1)java中處理中文字符正常,在cmd client中顯示亂碼是字符集的問(wèn)題.
(2)字段長(zhǎng)度設(shè)置夠長(zhǎng),但插入中文字符時(shí)提示com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column錯(cuò)誤是字符集的問(wèn)題.
(3)亂碼問(wèn)題歸根到底是字符集的問(wèn)題,那就從字符集設(shè)置方面考慮,不外乎下面幾個(gè)方面:server,client,database,connection,results.
-------------------------解決辦法----------------------
(1)修改 my.ini(MySQL Server Instance Configuration 文件)
- mysql 中文亂碼 解決方法集錦
- PHP MYSQL亂碼問(wèn)題,使用SET NAMES utf8校正
- MySQL的中文UTF8亂碼問(wèn)題
- MYSQL數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)時(shí)出現(xiàn)亂碼的解決辦法
- php和mysql中uft-8中文編碼亂碼的幾種解決辦法
- MySQL字符集 GBK、GB2312、UTF8區(qū)別 解決MYSQL中文亂碼問(wèn)題
- mysql導(dǎo)入導(dǎo)出數(shù)據(jù)中文亂碼解決方法小結(jié)
- php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼的解決方法
- Mysql 導(dǎo)入導(dǎo)出csv 中文亂碼問(wèn)題的解決方法
- MySQL亂碼問(wèn)題終極指南
相關(guān)文章
PHP使用OCR技術(shù)實(shí)現(xiàn)識(shí)別圖片中的文字
OCR是一種通過(guò)圖像處理技術(shù)從圖片或掃描件中提取文字的技術(shù),它可以將非結(jié)構(gòu)化的圖片內(nèi)容轉(zhuǎn)化為可編輯的文本,下面我們就來(lái)看看PHP如何OCR識(shí)別圖片中的文字2024-11-11
php access 數(shù)據(jù)連接與讀取保存編輯數(shù)據(jù)的實(shí)現(xiàn)代碼
腳本之家會(huì)給出一個(gè)php+access的留言本源碼,大家可以參考下?;旧蠈?duì)php access的操作就熟悉了。2010-05-05
關(guān)于php 接口問(wèn)題(php接口主要也就是運(yùn)用curl,curl函數(shù))
本篇文章是對(duì)php中的接口問(wèn)題(php接口主要也就是運(yùn)用curl,curl函數(shù))進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07
PHP實(shí)現(xiàn)一維數(shù)組轉(zhuǎn)二維數(shù)組的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)一維數(shù)組轉(zhuǎn)二維數(shù)組的方法,實(shí)例分析了php操作數(shù)組的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
PHP 檢查擴(kuò)展庫(kù)或函數(shù)是否可用的代碼
隨著版本的升高,PHP的功能也越來(lái)越完善,可用的擴(kuò)展庫(kù)和函數(shù)也越來(lái)越多,因此,我們寫(xiě)程序時(shí)也要考慮版本的兼容問(wèn)題,同時(shí)還要考慮服務(wù)器(特別是虛擬主機(jī))是否安裝了擴(kuò)展庫(kù)。2010-04-04
php實(shí)現(xiàn)基于PDO的預(yù)處理示例
這篇文章主要介紹了php實(shí)現(xiàn)基于PDO的預(yù)處理,結(jié)合實(shí)例形式分析了php實(shí)現(xiàn)pdo預(yù)處理的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2017-03-03
php中選擇什么接口(mysql、mysqli)訪問(wèn)mysql
我們知道,mysqli是PHP 5中新提供的MySQL接口,此接口使用了面向?qū)ο蟮乃枷搿J褂胢ysqli接口的代碼可讀性更強(qiáng),其執(zhí)行效率比mysql接口高2013-02-02

