2010-04-16 35 views
1

我有一個這樣的表,其中一列是latin1的,另一種是UTF-8:MySQL可以自動指定「_utf8」插入到UTF-8列嗎?

Create Table: CREATE TABLE `names` (
    `name_english` varchar(255) character NOT NULL, 
    `name_chinese` varchar(255) character set utf8 default NULL, 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 

當我執行插入,我必須鍵入_utf8插入UTF-8列之前的值:

insert into names (name_english = "hooey", name_chinese = _utf8 "鬼佬"); 

然而,由於MySQL的應該知道,name_chinese是UTF-8列,它應該能夠知道自動使用_utf8

有什麼辦法可以告訴MySQL自動使用_utf8,所以當我用編程方式編寫準備好的語句時,我不必擔心將它包含在正確的參數中?

回答

1

爲什麼不在整個表中使用UTF-8?

+0

這並沒有改變我仍然需要爲插入的每一列指定'_utf8'的事實。 – Neil 2010-04-16 15:23:57

+0

不,它的確如此。只需在每個連接上發出一個查詢「SET NAMES charset」。 charset是你的網站charset @Neil。 – 2010-04-16 15:33:42

+0

啊你說得對。我們現在還不能將所有內容都改爲UTF-8,但是我編寫了一個腳本來自動將_utf8放入UTF-8編碼的列的插入內容中。 – Neil 2010-04-19 14:53:28