PHP+MYSQL 出現(xiàn)亂碼的解決方法
肯定都已經(jīng)解決了JSP里的亂碼問題,不過還是有些人的MYSQL亂碼問題沒有得到解決,包括我自己,所以又找了一些資料,希望這次能完全解決MYSQL數(shù)據(jù)庫的亂碼問題。
第一種方法,很精辟的總結(jié):
經(jīng)常更換虛擬主機(jī),而各個(gè)服務(wù)商的MYSQL版本不同,當(dāng)導(dǎo)入數(shù)據(jù)后,總會(huì)出現(xiàn)亂碼等無法正常顯示的問題,查了好多資料,總結(jié)出自己的一點(diǎn)技巧:
WINDOWS 下導(dǎo)入應(yīng)該這樣
使用MYSQL的命令
在DOS命令下進(jìn)入mysql的bin目錄下,輸入mysql -uroot -p密碼 數(shù)據(jù)庫名稱<要恢復(fù)的數(shù)據(jù)庫, 例如我們要把D盤的一個(gè)名稱為test.sql的數(shù)據(jù)庫恢復(fù)到本地的test2這個(gè)數(shù)據(jù)庫,那么就這樣: mysql -uroot -p密碼 test2以前的國外主機(jī)用的Mysql是4.x系列的,感覺還比較好,都無論GBK和UTF-8都沒有亂碼,沒想到新的主機(jī)的Mysql是5.0版本的,導(dǎo)入數(shù)據(jù)后,用Php讀出來全是問號(hào),亂碼一片,記得我以前也曾經(jīng)有過一次切換出現(xiàn)亂碼的經(jīng)驗(yàn),原因肯定是Mysql版本之間的差異問題。
只好查資料,發(fā)現(xiàn)了一個(gè)解決方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的數(shù)據(jù)庫消除亂碼,對(duì)于GBK的數(shù)據(jù)庫則使用SET NAMES GBK,代碼如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");
數(shù)據(jù)庫字符集為utf-8
連接語句用這個(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ò)的解說,可以試一下
mysql亂碼處理總結(jié):
(1)java中處理中文字符正常,在cmd client中顯示亂碼是字符集的問題.
(2)字段長度設(shè)置夠長,但插入中文字符時(shí)提示com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column錯(cuò)誤是字符集的問題.
(3)亂碼問題歸根到底是字符集的問題,那就從字符集設(shè)置方面考慮,不外乎下面幾個(gè)方面:server,client,database,connection,results.
-------------------------解決辦法----------------------
(1)修改 my.ini(MySQL Server Instance Configuration 文件)
- mysql 中文亂碼 解決方法集錦
- PHP MYSQL亂碼問題,使用SET NAMES utf8校正
- MySQL的中文UTF8亂碼問題
- MYSQL數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)時(shí)出現(xiàn)亂碼的解決辦法
- php和mysql中uft-8中文編碼亂碼的幾種解決辦法
- MySQL字符集 GBK、GB2312、UTF8區(qū)別 解決MYSQL中文亂碼問題
- mysql導(dǎo)入導(dǎo)出數(shù)據(jù)中文亂碼解決方法小結(jié)
- php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼的解決方法
- Mysql 導(dǎo)入導(dǎo)出csv 中文亂碼問題的解決方法
- MySQL亂碼問題終極指南
相關(guān)文章
PHP翻頁跳轉(zhuǎn)功能實(shí)現(xiàn)方法
這篇文章主要介紹了PHP翻頁跳轉(zhuǎn)功能實(shí)現(xiàn)方法,下面就來介紹一下如何實(shí)現(xiàn)當(dāng)前頁面數(shù)據(jù)資料顯示數(shù)量及如何實(shí)現(xiàn)動(dòng)態(tài)的翻轉(zhuǎn)功能,需要的朋友可以參考下2015-11-11Laravel框架中實(shí)現(xiàn)使用阿里云ACE緩存服務(wù)
這篇文章主要介紹了Laravel框架中實(shí)現(xiàn)使用阿里云ACE緩存服務(wù),本文擴(kuò)展了一個(gè)ACE緩存驅(qū)動(dòng),以便使用阿里云ACE緩存服務(wù),需要的朋友可以參考下2015-02-02PHP中CakePHP添加數(shù)據(jù)庫實(shí)例方法
在本篇文章里小編給大家整理的一篇關(guān)于PHP中CakePHP添加數(shù)據(jù)庫實(shí)例方法,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。2021-01-01php和javascript之間變量的傳遞實(shí)現(xiàn)代碼
本文提供一種解決php和javascript之間變量的傳遞的方法,需要的朋友可以參考下2012-12-12如何批量替換相對(duì)地址為絕對(duì)地址(利用bat批處理實(shí)現(xiàn))
你的url鏈接是相對(duì)路徑你想把他批量替換成絕對(duì)路徑該怎么做呢?下面與大家分享下具體的實(shí)現(xiàn)思路及代碼,只需點(diǎn)擊bat文件,全部頁面里的相對(duì)地址就會(huì)變成絕對(duì)地址了2013-05-05PHP setcookie指定domain參數(shù)后,在IE下設(shè)置cookie失效的解決方法
setcookie函數(shù)指定domain參數(shù)后,在IE下的表現(xiàn)和在chrome、firefox中的表現(xiàn)不同,這不是php setcookie函數(shù)的問題,這是IE的問題。2011-09-09