Neo's Blog

首頁 相本 討論 書籤

分類目錄
本站日誌 (51)
碎碎唸啦 (173)
網站架設 (84)
程式設計 (161)
軟體使用 (69)
電子商務 (126)
經營奇想 (48)
基金理財 (11)
聰明消費 (87)
電影心得 (47)
開放原碼 (16)
工作記錄 (2)
毛毛小記 (9)
就是不同 (2)




歷史資料
 




March 25, 2004
MySQL 使用 rpm 安裝後,修改 charset 設定的方法!

先來談談沒有加 charset (預設字集) 會怎樣,主要是遇到中文字會有問題。

1.使用 SQL 的 like 指令時,使用英文字母做搜尋,只要某個中文單字內碼跟搜尋的英文字母一樣,也會被 select 出來。(如「建」這個字,用英文字「x 」一樣找的到)

2.就是常見的「許、功、蓋」等,內碼含 "\" 字元的中文字,全部都會造成寫入或讀取資料庫失敗。

這時我們就必須指定 charset (預設字集)是 big5 了。但不是用 tarball 安裝 mysql 的話,自然不可能下 --with-charset=big5 了,所以必須做個小手術來讓 MySQL 知道我們的資料庫主要用的字集是 big5 。

先到 /usr/share/mysql/ 依照你的記憶體需求來選一個 cnf 檔。(需要的記憶體配置在各檔檔頭都有)

如果沒有特別需求,就直接用 my-medium.cnf 就可以了。然後放到 /etc 並改名為 my.cnf,指令如下:

#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

再來就是修改 my.cnf

#vi /etc/my.cnf

找到以下內容
[mysqld]
port=3306
socket=/usr/lib/mysql/mysql.sock
default-character-set=big5 //自行加入這一即可,也就是設定預設字集為 big5

存檔後只要重新啟動 MySQL 就可以了:
#service mysql restart

這樣就完成更改的動作了,而且資料庫中若有 UTF-8 字集的資料存取也都不會受影響,很方便吧! ^_^

 
由 Neo 發表於 March 25, 2004 08:07 PM 收進你的MyShare個人書籤  

Well
小弟試著拿手邊的FC1來修改
結果沒用說@@

唉...看來只好重新編譯啦>"<

不過這個站真的是太多寶藏了
我現在幾乎都天天來耶^_^

感謝站長分享囉 呵呵


willie 發表於 October 21, 2004 03:22 PM

因為我這邊的環境是 RedHat 9 ,而 Fedora Core 1 的 package 安裝 mysql 的路徑可能會跟 RedHat 9 的不同,主要需要先確定 mysql 讀的 my.cnf 是在哪裡,可以先下 #locate my.cnf 看看是在哪個目錄下再做修改。

謝謝你的支持,讓我更有動力寫下去啦,呵呵! ^^


Neo 發表於 October 24, 2004 04:39 PM

感謝您,我用這種方法解決許功蓋的問題。
我是用Red Hat9。


francess 發表於 November 4, 2004 11:50 AM

呵呵
我確定過位置了
的確是/etc/my.cnf

也重新啟動mysql了
可是怎麼改都沒有效果...>_<

以下是我的設定檔

-------------------------
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-character-set=big5

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=big5
-------------------------------------

算囉
我還是重新編譯一次好了^_^


willie 發表於 November 4, 2004 03:42 PM

我的是FC3
改了之後就OK耶
謝謝您
我會常來的
加油!!
加油!!
大家一起加油!!


djwym 發表於 October 3, 2005 09:42 PM

再請教一下
許功蓋沒問題了
但有些不常用的字還是又問題
例如"綉","双"....
這又要怎麼處理呢?
感謝


djwym 發表於 October 3, 2005 11:19 PM

我改了...fc3..不能啟動..mysql
請問樓上大大..你的fc3是改那..可否告知...3q


sunny 發表於 November 15, 2005 10:51 AM
發表迴響  
(*星號開頭為必填欄位)











(請輸入您看到的數字,看不到請按右鍵->顯示圖片)


記住我的資訊?







Copyright 2005 Neo's Blog All rights reserved.