2
我需要在MySQL中創建一個表,其中存儲世界上不同國家的不同貨幣符號。這些符號在不同的語言,沒有得到插入到數據庫和它拋出這樣的錯誤MySQL - 以不同語言或特殊符號存儲字符
incorrect string value xd8\x8b
的樣本數據是:
insert into country (country_name, currency_name, currency_code, currency_symbol) values ('Afghanistan','Afghanis','AFN',' ؋'), ('Aruba','Guilders','AWG',' ƒ'), ('Azerbaijan','New Manats','AZN',' ман'), ('Bulgaria','Leva','BGN',' лв'), ('Costa Rica','Colón','CRC',' ₡'), ('Cuba','Pesos','CUP',' ₱'), ('Cyprus','Euro','EUR',' €'), ('Czech Republic','Koruny','CZK',' Kč'), ('Ghana','Cedis','GHC',' ¢'), ('Iran','Rials','IRR',' ﷼'), ('Israel','New Shekels','ILS',' ₪'), ('Japan','Yen','JPY',' ¥'), ('Kazakhstan','Tenge','KZT',' лв'), ('Korea','Won','KPW',' ₩'), ('Laos','Kips','LAK',' ₭'), ('Macedonia','Denars','MKD',' ден'), ('Mongolia','Tugriks','MNT',' ₮'), ('Nigeria','Nairas','NGN',' ₦'), ('Pakistan','Rupees','PKR',' ₨'), ('Russia','Rubles','RUB',' руб'), ('Vietnam','Dong','VND',' ₫'), ('Yemen','Rials','YER',' ﷼');
我使用的是MySQL 5.1.22,這是當前的表結構:
CREATE TABLE `country` ( `country_id` int(11) NOT NULL AUTO_INCREMENT, `country_name` varchar(100) DEFAULT NULL, `currency_name` varchar(100) DEFAULT NULL, `currency_code` varchar(20) DEFAULT NULL, `currency_symbol` varchar(20) DEFAULT NULL, `date_created` datetime DEFAULT NULL, `last_modified` datetime DEFAULT NULL, PRIMARY KEY (`country_id`) ) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=latin1;
這僅僅是將CHARSET改爲別的東西嗎?
謝謝 - 我創建了一個CHARSET設置爲UTF8的新表 - 仍然不會像阿富汗,阿塞拜疆,保加利亞,哥斯達黎加等貨幣插入某些行。 – Gublooo 2010-03-25 19:39:36
@Gublooo這些符號也必須在utf-8中,你必須在連接後立即向服務器發送SET NAMES utf8查詢。 – 2010-03-25 20:02:53
彈片 - 所以你說 - 例如插入日元符號 - 我必須輸入UTF-8的值,如0xC2,0xA5 - 嗯,如果是這種情況 - 當我檢索這些數據並在瀏覽器中顯示我是否需要做任何事情特殊的或將它顯示爲日元符號 - 謝謝 – Gublooo 2010-03-25 20:20:31