1 頁 (共 1 頁)

[問題]如何正確轉換 已經存在的 database 之編碼?

發表於 : 2005-12-27 16:14
b90220208
:) 如下 6 點是我的設定與測試結果:

1. 所有 *.php 以 utf8 存檔

2. html code 也指定了:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" Content="UTF-8" />

3. mysql> ALTER DATABASE forum DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

4. mysql> ALTER TABLE forum_table DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


5. my.ini 相關設定如下:
[mysqld]
init_connect='SET NAMES utf8'
default-character-set=utf8
default-collation=utf8_general_ci

6. 執行查詢 mysql> show variables; 相關結果如下:
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8

collation_connection | utf8_general_ci
collation_database | utf8_general_ci
collation_server | utf8_general_ci

:eek: [Question]:
為何在 "命令提示字元" 執行查詢
mysql> SET NAMES 'utf8';
mysql> select * from forum_table;
竟出現亂碼 (但在 browser 瀏覽是正確無誤的)
.....請問是我資料庫的編碼轉換沒成功嗎(上述之第3,4點的語法為何會無效呢?)? :shock:
ps. 我重新以 browser 瀏覽網站並指定 browser 以 utf8 編碼檢視下再 post 新文章結果也一樣, browser 瀏覽沒問題,但換在 "命令提示字元" 查詢就又變成了亂碼!.....Why?? :shock:

發表於 : 2006-01-27 10:52
k.h.chen
雖然你在mysql 中存的資料格式是utf8,但是它的命令輸入模式輸出顯示是不支援utf8的格式,就像你要用記事本(notepad)要看utf8格式的文字一樣.明知它是utf8的資料,但因輸出的程式不支援,所以就會以亂碼出現.