2011-06-18 6 views
0

MySQLに中国語文字を挿入する際に問題があります。私は中国語の文字をクエリブラウザ/ワークベンチにのみ挿入することができますが、 '??'私のプログラムを使用するとき。私は何とか私のコンピュータ(Windows 7)上で動作させることができましたが、別のもの(Windows 7も)でテストしたときに、疑問符として出てきました。また、Windows XPの中国語では動作しません。どんな助け?chinese character insertion mysql

+0

それは、彼らがする必要があることだろうUTF-8としてエンコードされていますか? –

+0

"と表示されますが、 '??'私のプログラムを使用するとき "。この声明よりも、失敗に関する詳細を提示する必要があります。あなたが書かなければならないことは、あなたが書いたプログラムのタイプ(web-appまたはJavaSEデスクトップアプリケーション)、web-appに設定した適切なレスポンスヘッダ、デスクトップアプリケーションのロケール、文字を表示するために使用されるフォント(ブラウザ/デスクトップアプリ内)。 –

+0

私は既にデータベースの照合をutf-8に設定しています。 – louieansonng

答えて

0

ドライバはUTF-8で転送しています。接続文字列に対するコメントが表示されます。データベーステーブルのフィールドもおそらくUTF-8で指定されています(これをチェックしてください)。

Javaでは通常のUnicode文字列があります。ダンプでString.getBytes("UTF-8")を確認してください。疑問符は表示されません。

Webアプリケーションでは、Writerを使用する前にエンコーディングを設定する必要があります。さもなければあなたはそのような探求マークを得る。エラーを起こす他の可能性は、String.getBytes()(デフォルトのOSエンコーディング)、StreamOutputStreamをエンコーディングなしで使用するFileOutputStream上のWriterです。

0

1.use cmdを例えばデータベース を接続する:

D:\MySQL\bin>mysql -u root -D test -p 

2.to例えばUTF-8 にデータベースを変更:

mysql>alter database [database name] default character set utf8