我直接在mysql客戶端執行此操作。我想要做到以下幾點:如何使用insert語句將unicode字符插入到mysql中?
INSERT INTO MYTABLE VALUES(1,12,'\u5c40\u5c42');
所以它會插入兩個Unicode字符。如果可能的話,我想這樣做而不使用其他編程語言,我只想將我的插入語句直接粘貼到mysql客戶端。
我直接在mysql客戶端執行此操作。我想要做到以下幾點:如何使用insert語句將unicode字符插入到mysql中?
INSERT INTO MYTABLE VALUES(1,12,'\u5c40\u5c42');
所以它會插入兩個Unicode字符。如果可能的話,我想這樣做而不使用其他編程語言,我只想將我的插入語句直接粘貼到mysql客戶端。
使用mysql控制檯,我可以將你的unicode字符粘貼到插入命令中,並且mysql接受它。這裏有一個我使用你的數據的測試:
CREATE TABLE xx (col1 varchar(20));
insert into xx values ('局層');
select * from xx;
+---------+
| col1 |
+---------+
| 局層 |
+---------+
我的db使用默認編碼(latin1)。
你試過把它們粘在裏面嗎?你有什麼錯誤?
表格數據的類型是什麼? char或varchar?您的問題不太清楚,您是否從該行中獲得錯誤?您可能遇到:http://dev.hubspot.com/bid/7049/MySQL-and-Unicode-Three-Gotchas。
編輯:
相當多的信息是這三個頁面,應該是能夠幫助中: http://dev.mysql.com/doc/refman/5.5/en/charset-unicode.html
http://dev.mysql.com/doc/refman/5.5/en/string-syntax.html
http://dev.mysql.com/doc/refman/5.5/en/charset-literal.html
但我也看到了這:
INSERT INTO mytable VALUES (1, 12, _ucs2'\x5C40\x5C42');
我可以做到,但是在兩者中,它都會插入文本「u5c40u5c42」而不是兩個unicode字符。 –
另外,讓我澄清一點,我可以使用java插入和選擇unicode數據,但我希望能夠將一些插入語句粘貼到mysql客戶端並想知道如何格式化它們。 –
您使用的是什麼版本的MySQL? – Crewe
這取決於你正在編程什麼,或者直接處理數據庫。你只是試圖從querybrowser或其他工具直接插入,或者你是通過一個web應用程序來做到這一點。如果第二種,那麼webapp使用的是什麼語言。如果它是一個.NET應用程序,你可以嘗試設置字符連接字符串中設置即字符集= UTF8
如果你正在做的PHP的東西,然後看看這個鏈接http://randomchaos.com/documents/?source=php_and_unicode
你也可以去將數據庫上的默認字符集設置爲UTF-8。不知道這將如何影響當前數據,因此請務必在更改數據庫之前備份所有內容。
問題是我把它們編碼爲\ uXXXX而不是實際的字符,我有一個已經有大量的插入語句。 –
哦。我誤解了這個問題。答案是目前沒有辦法編碼unicode字符:) – Bohemian
好吧,謝謝,我想我需要編寫一個小程序來閱讀這些語句,並用java自己編碼。 –