私はこれをmysqlクライアントで直接行っています。私は次のことをしたい:mysqlにinsert文を使用してUnicode文字を挿入するにはどうすればよいですか?
INSERT INTO MYTABLE VALUES(1,12,'\u5c40\u5c42');
それで2つのユニコード文字が挿入されます。可能であれば、他のプログラミング言語を使用せずにこれをやりたいのですが、私はinsert文をmysqlクライアントに貼り付けるだけです。
私はこれをmysqlクライアントで直接行っています。私は次のことをしたい:mysqlにinsert文を使用してUnicode文字を挿入するにはどうすればよいですか?
INSERT INTO MYTABLE VALUES(1,12,'\u5c40\u5c42');
それで2つのユニコード文字が挿入されます。可能であれば、他のプログラミング言語を使用せずにこれをやりたいのですが、私はinsert文をmysqlクライアントに貼り付けるだけです。
mysqlコンソールを使用して、私はあなたのユニコード文字を挿入コマンドに貼り付けることができ、mysqlはそれを受け入れます。
CREATE TABLE xx (col1 varchar(20));
insert into xx values ('局层');
select * from xx;
+---------+
| col1 |
+---------+
| 局层 |
+---------+
My dbはデフォルトのエンコーディング(latin1)を使用しています。
貼り付けてみましたか?どのようなエラーがありますか?
テーブルデータの種類は何ですか? charまたはvarchar?あなたの問題は明らかではありません、あなたはその行からエラーが出ますか?あなたは経験しているかもしれません:http://dev.hubspot.com/bid/7049/MySQL-and-Unicode-Three-Gotchas。
EDIT:情報の
かなりは助けることができる必要があり、これらの3つのページ内にある: 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');
私はそれを作ることもできますが、両方で、2つのユニコード文字の代わりに "u5c40u5c42"というテキストを挿入します。 –
また、Javaを使用してユニコードデータを挿入して選択することができることを明確にしたいが、いくつかの挿入文をmysqlクライアントに貼り付けることができ、それらをフォーマットする方法を知りたい。 –
あなたはどのバージョンのMySQLを使用していますか? – Crewe
これはプログラミングする内容やデータベースを直接扱うかどうかによって異なります。あなたは単にquerybrowserやその他のツールからストレートな挿入をしようとしているのですか?それとも、Webアプリケーション経由でこれをやっていますか? 2番目の場合、webappはどの言語を使用していますか?それはあなたがPHPで何かをやっている場合、このリンクでhttp://randomchaos.com/documents/?source=php_and_unicode
を見てみましょうつまり文字セット= utf8を
接続文字列に文字セットを設定してみてくださいすることができます.NETアプリであればまた行くことができるとデータベースのデフォルト文字セットをUTF-8に設定します。これがどのように現在のデータに影響を与えるかわからないので、データベースを変更する前にすべてをバックアップしてください。
を試してみてください。問題は、それらが実際の文字としてではなく\ uXXXXとしてエンコードされていることです。すでに挿入文の巨大なリスト。 –
ああ。私はその質問を誤解した。答えは現在、Unicodeの文字をエンコードする方法はありません:) – Bohemian
ok、ありがとう、私は文を読んで、javaで自分自身をエンコードするための小さなプログラムを書く必要がありますね。 –