主題: MYSQL編碼?
查看單個文章
舊 2007-01-24, 11:59 AM   #6 (permalink)
ppp0600
長老會員
 
ppp0600 的頭像
榮譽勳章
UID - 19602
在線等級: 級別:72 | 在線時長:5493小時 | 升級還需:128小時級別:72 | 在線時長:5493小時 | 升級還需:128小時
註冊日期: 2002-12-30
住址: 混亂地獄
文章: 10257
精華: 0
現金: 249 金幣
資產: 214383155 金幣
預設

引用:
作者: 飛鳥
在程式內,要讀取mysql裡的utf8編碼文字,加上這三行會比較好
PHP 語法:
mysql_query("SET NAMES 'utf8'");//要從資料庫顯示utf-8資料要加三行--第一行
mysql_query("SET CHARACTER_SET_CLIENT=utf8");//第二行
mysql_query("SET CHARACTER_SET_RESULTS=utf8");//第三行 
請問這段程式有限定要加在哪裡嗎?

引用:
作者: Chin-Wei
1. 可以改成 UTF-8
2. 有些字的前面會自動被加上 \,所以你要自己手動去改那些字,eg.許、功、蓋等
3. phpbb2 本身要改編碼
4. MySQL 本身也要改編碼
5. 以上有個環節出錯,你的資料庫就毀了,請先做好備份


==
接下來開始教你實戰過程XD

1. 請先把資料庫使用 mysqldump,以 latin1 格式備份出來(資料庫預設都是使用 latin1)
mysqldump --all-databases --default-character-set=latin1 -u root -p > mysql.sql

注意,這一步沒做,你轉換一定失敗。


2.把資料表的編碼修正為 UTF8
找出下列幾行,並將所有的 latin1 改為 utf8
s/SET NAMES utf8
s/ENGINE=MyISAM DEFAULT CHARSET=utf8
s/ENGINE=InnoDB DEFAULT CHARSET=utf8
s/ENGINE=MEMORY DEFAULT CHARSET=utf8


3.實際進行轉換(big5 -> utf8)
iconv -c -f big5 -t utf8 mysql.sql > mysql_utf8.sql


4.修改 M...
這感覺有點難啃,我會試試看,對了,我知道我很耍寶,
因為忘了說我系統是WIN2K的,使用APPSERV 2.4.5
上面這些指令看起來像linux....
這樣我會不會被痛扁阿
ppp0600 目前離線  
送花文章: 26716, 收花文章: 7682 篇, 收花: 38377 次
回覆時引用此帖