MySQL 升級後續 - 亂碼、編碼問題

转载 2007年10月16日 01:15:00
原贴:http://twntwn.info/blog/ajer001/archives/1389

MySQL 升級後續 - 亂碼、編碼問題

| Posted at 九月 12, 2006 | 2個迴響 | 沒有引用 | 1793 reads. | Size: L, M, S |
| Under Service Soft. |

MySQL 升級到 4.1.x 以上的版本之後,會發現開始有個叫做連線校對的東西。因為從 4.1.x 之後,只剩下 UTF-8 一種編碼,連線校對只是看你的程式存進去的語言是什麼,最後都是用 UTF-8 來存。(這段有錯請指正!)

這 個時候,問題就來了,因為 4.0.x 之前的版本,通常預設的編碼都是 latin1,而把 latin1 編碼的檔案放進去,通常會有三種後果,一種是 phpMyAdmin 中看是正常,但是程式內卻是一堆亂碼;另一種就是 phpMyAdmin 中看是亂碼,但是程式內卻正常;當然也有的人更雖,前後都死。

其實這都是因為編碼不同的關係。最好的方法,就是把原本的資料、新的 MySQL 全部弄成 UTF-8,未來比較不會有問題,一勞永逸。

一開始我升級後用很鴕鳥的方式,把預設編碼改成了 latin1,想說正常就好,不過昨晚清空 Gallery2 快取後,才發現整個 Gallery2 全部都變成亂碼了,後台卻很正確。查了整個晚上,我暴氣了,決定全部把資料都轉為 UTF-8。

首先,唯一要確定的,是備份下來的 .sql 一定必須是正確沒問題的。最好的方法當然是升級前就備份下來,或者你也可以嘗試各種連線校對的編碼,看哪個匯出的 .sql 是可以在編輯程式內正確讀取的(最重要的當然是中文的部份)。

確定 OK 後,用編輯器打開你的 .sql,如果你是 MySQL 4.1.x 以上備份下來的,應該裡面會有很多個「CHARSET=latin1」,用取代的功能,全部改成「CHARSET=utf8」,這樣等等匯入之後,預設的編碼就會變成 UTF-8 了。好了之後,存檔上傳到主機。 

 

接下來,利用 Mark 教的 方法,來匯入資料:

首先新增你要上傳的那個資料庫,將編碼選為「utf8_general_ci」。然後到主機下指令:

mysql  -uname  -ppassword  -Ddbname  --default-character-set=latin1  <  XXX.sql

註一:黑色粗體字分別是 mysql 的 username、password、db name、sql dump file name。
註二:--default-character-set=XXX,一定要加,並且換成你當初 dump 下來的編碼,通常可能是 latin1。

這樣就完成了,到你的 phpMyAdmin 去看看,應該可以正常顯示了。然後再到程式看看、發表看看,應該都沒問題了才對。




 

MySQL数据库管理

这是关于MySQL dba的课程,从MySQL历史到适用场景到机器选型到备份优化到监控和HA等等。
  • 2015年01月08日 23:57

Microsoft AppLocale

  • 2014年02月18日 16:30
  • 1.31MB
  • 下载

NTLEA全域通–解決簡體中文、日文、韓文亂碼問題NTLEA0.92.rar

  • 2013年11月18日 09:06
  • 524KB
  • 下载

解決Serv-U亂碼問題

  • 2013年12月10日 15:56
  • 475KB
  • 下载

Request字符編碼問題

  var popurl=url+?popstyle=+popstyle+&keytextid=+keytextid+&title=+title+                 &displayfi...
  • Peak915
  • Peak915
  • 2006-03-26 15:59:00
  • 1243

亂碼問題

 11.   乱码解决方案。是否遇到过?有哪些?讲解具体遇到的情形,并说出你在具体的应用中的解决方案。1.JSP输出中文的乱码问题所谓在jsp输出中文,即直接在jsp中输出中文,或者给变量赋中文值再输...
  • czp11210
  • czp11210
  • 2009-10-22 15:10:00
  • 527

Response 用法集合

  • 2011年12月26日 11:45
  • 49KB
  • 下载

QBQ問題背後在問題

  • 2008年05月31日 14:59
  • 510KB
  • 下载

中文亂碼問題

母頁: //window.open("transexcel.jsp?p_user_id="+p_user_id+"&p_paraXML="+MyTransExcel_paraXML); //IE8...
  • tan123456789
  • tan123456789
  • 2012-09-04 14:09:46
  • 217

亂碼問題收藏

v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML)...
  • unicorn00
  • unicorn00
  • 2009-04-17 17:19:00
  • 244
收藏助手
不良信息举报
您举报文章:MySQL 升級後續 - 亂碼、編碼問題
举报原因:
原因补充:

(最多只允许输入30个字)