2015年7月28日 星期二

從Oracle寫到MySQL時,中文變成亂碼

原因:
SHOW FULL COLUMNS FROM IMA_FILE;
可以看到 latin1_swedish_ci
+-----------+---------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| Field     | Type          | Collation         | Null | Key | Default | Extra | Privileges                      | Comment |
+-----------+---------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| ima01     | varchar(40)   | utf8_unicode_ci   | YES  | MUL | NULL    |       | select,insert,update,references |         |
| IMA02     | varchar(60)   | latin1_swedish_ci | YES  |     | NULL    |       | select,insert,update,references |         |
| ima021    | varchar(60)   | utf8_unicode_ci   | YES  |     | NULL    |       | select,insert,update,references |         |
| IMA03     | varchar(20)   | latin1_swedish_ci | YES  |     | NULL    |       | select,insert,update,references |         |
...

這是亂碼的原因,改成utf8_unicode_ci


作法:
alter table IMA_FILE modify imaud02 varchar(40) CHARACTER SET utf8 COLLATE utf8_unicode_ci;

沒有留言:

張貼留言