我在mysql客户端直接这样做。我想做以下事情:
INSERT INTO MYTABLE VALUES(1,12,'\u5c40\u5c42');
所以它会插入两个unicode字符。如果可能的话,我想在不使用其他编程语言的情况下这样做,我只想将我的插入语句粘贴到mysql客户端。
答案 0 :(得分:7)
您的表数据类型是什么? 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');
答案 1 :(得分:4)
使用mysql控制台,我可以将你的unicode字符粘贴到insert命令中,mysql接受它。这是我使用您的数据进行的一点测试:
CREATE TABLE xx (col1 varchar(20));
insert into xx values ('局层');
select * from xx;
+---------+
| col1 |
+---------+
| 局层 |
+---------+
我的数据库使用默认编码(latin1)。
你试过粘贴它们吗?你有什么错误,如果有的话?
答案 2 :(得分:0)
这取决于您使用的是什么,或者只是直接处理数据库。您只是尝试从querybrowser或其他工具执行直接插入,还是通过Web应用程序执行此操作。如果是第二个,webapp使用什么语言。如果是.net应用程序,您可以尝试在连接字符串中设置字符集,即charset = utf8
如果您正在使用php进行操作,请查看此链接http://randomchaos.com/documents/?source=php_and_unicode
您还可以将数据库上的默认字符集设置为UTF-8。不确定这将如何影响当前数据,因此请务必在更改数据库之前备份所有内容。
答案 3 :(得分:0)