how do I insert unicode characters into mysql with

2020-02-11 05:18发布

I'm doing this directly in the mysql client. I want to do the following:

INSERT INTO MYTABLE VALUES(1,12,'\u5c40\u5c42');

So it would insert the two unicode characters. I'd like to do this without using some other programming language if possible, I'd like to just paste my insert statements right into mysql client.

标签: mysql
4条回答
家丑人穷心不美
2楼-- · 2020-02-11 05:19

It will depend on what you are programming with or if just dealing with the database directly. Are you just trying to do a straight insert from querybrowser or some other tool or are you doing this via a web app. IF the second, what language is the webapp using. If it is a .net app you can try setting the character set in the connection string i.e. charset=utf8

If you are doing something with php then take a look at this link http://randomchaos.com/documents/?source=php_and_unicode

You could also go and set the default character set on the database to UTF-8. Not sure how this will impact the current data so be sure to backup everything before making changes to the database.

查看更多
Rolldiameter
3楼-- · 2020-02-11 05:29

What's the type of your table data? char or varchar? Your issue isn't quite clear, are you getting an error from that line? You might be experiencing: http://dev.hubspot.com/bid/7049/MySQL-and-Unicode-Three-Gotchas.

EDIT:

Quite a bit of information is within these three pages that should be able to help: 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

but I also saw this :

INSERT INTO mytable VALUES (1, 12, _ucs2'\x5C40\x5C42');
查看更多
唯我独甜
4楼-- · 2020-02-11 05:33

Using the mysql console, I can just paste your unicode characters into an insert command and mysql accepts it. Here's a little test I did using your data:

CREATE TABLE xx (col1 varchar(20));
insert into xx values ('局层');
select * from xx;
+---------+
| col1    |
+---------+
| 局层   |
+---------+

My db uses default encoding (latin1).

Have you tried just pasting them in? What error, if any, do you get?

查看更多
劫难
5楼-- · 2020-02-11 05:44

By using MySQL Workbench

  1. Alter the table of that column you want to insert unicode into.
  2. Change Collation of that column to utf8-default collation.
  3. Apply the setting and you are good to go to insert unicode.

MySQL Workbench Screenshot

查看更多
登录 后发表回答