廣告載入中
月光論壇 跳至最下方
 XML   RSS 2.0   WAP 
您是第 7858 個閱讀者


將本文加入網路書籤 | 可列印版本 | 加為IE收藏 | 上一主題 | 下一主題
安凱



8 該用戶目前不在線
級別: *
精華: *
年齡: *
發表文章: */*
回覆文章: */*


只看樓主 共1人推薦本主題推薦 x1

[SQL][教學] Mysql解決中文亂碼的方法

*mysql中文亂碼的原因
mysql 會出現中文亂碼的原因不外乎下列幾點:
→ mysql 本身設定問題,例如還停留在 latin1
→ mysql table 的語系設定問題(包含 character 與 collation)
→ 客戶端程式(例如 php) 的連線語系設定問題


mysql 4.1 及之後的版本在語系方面增加了許多功能,它可以設定語系的層次從最底層的 , database 到單一 table, column, connection 都可以設定,而除了語系之外,還可以指定搭配不同的 collation(校對),所以組合百百種,只要一個錯了就難逃亂碼的命運。

進phpmyadmin找到可輸入 sql query的畫面,然後鍵入:
show variables like '%character%';
這句話會顯示目前庫使用的語系設定,一般國外的網站或剛裝好的 mysql 4.1預設都是 latin-1。

[新增庫]
如果你熟悉 phpmyadmin 的操作,在畫面上就可以選擇建立新 database 要用的語系,
charset 請選擇 UTF-8 Unicode (utf8)
collation 請選擇 utf8_general_ci (ci 代表 case insensitve 大小寫沒差)

[修改庫]
改 database語系,同樣在 phpmyadmin 的query畫面鍵入下面兩行:
alter database myblog
character set utf8;


前面曾經提過,mysql的語系設定是多層次的,前面我們把database與table的語系都設定正確,但程式與mysql連線時的語系則是由 connection 來決定,這部份就要使用程式碼
mysql_query("SET NAMES 'utf8'");
這句話會同時設定 client, results, connection三者使用的語系為 utf-8。

最後檢查是否全部改成 utf-8
show variables like '%character%';

此時你應該會看到大部份欄位都是utf-8了,除了 這項之外,如果是用別人的 hosting 主機,就沒法兒改這部份,但平常做案子時大部份都可以直接控管mysql,此時就可以用 my.ini 設定:

[mysqld]
default-character-set=utf8
告訴mysql 啟動時要用 utf-8即可。



*mysql中文亂碼必勝解決法
1、mysql 啟動時會讀取一個預設的 config 檔,一般名稱為 my.ini,而它會到下列兩位置去尋找這個檔案:
C:windowsmy.ini 也就是作業系統的安裝目錄,也有可能是 C:winntmy.ini
C::my.cnf 也就是 C disk 的根目錄


2、my.ini

本文章使用了關鍵字:



將本文加入網路書籤:


※ ※ ※ 本文為 安凱 與 月光論壇 共同所有,未經同意,請勿轉載 ※ ※ ※

此貼被評分,最近評分記錄
由 PHP / MySQL 搬移至 網路架設 (by 月光) (2008-02-18 10:28)
頂端 [樓 主] 臺灣中華 | Posted: 2007-8-5 14:37
kkbaby001
默認頭像


8 該用戶目前不在線
級別: 禁止發言
精華: 0
年齡: 22
發表文章: 0/0
回覆文章: 213/222
只看該作者

該主題已被管理員屏蔽!

頂端 [1 樓] From:歐洲 | Posted: 2020-8-6 19:22 | 第 1 次回覆

月光論壇

月光論壇為自由討論論壇,所有個人言論不代表本站立場。文章內容如有涉及侵權請連絡我們,將立即刪除相關文章資料


Powered by PHPWind v5.0.1
Code © 2003-05 PHPWind
Find my site on DoubleClick Ad Planner Valid XHTML 1.0 Transitional Valid CSS!
Total 0.002347(s) query 8, Gzip enabled, Now Server Load 0.09 %, Max 150.15 %
著作權侵權 | 本網站已依台灣網站內容分級規定處理 | FaceBook粉絲專頁 | 聯絡我們 或 email:y2kwill2000@yahoo.com.tw