質問

私はmysqlのコンソールからクエリを作成し、それがアクセントやニーズがUTF-8でエンコードされることを任意の文字を持っている場合、それが襲わ

を取得します
INSERT INTO users (userName) VALUES ("José Alarcón");
SELECT userName FROM users;
José Alarcón
パラメータは何も変化しないように、

SET NAMES utF8は何も--default-character-set=utf8を変更します これが唯一のコンソールからであるよりも、覚えておいてください。私はphpMyAdminのを使用するか、プログラムから任意のクエリを作成する場合は、そこに全く問題はありませんが、コンソールから挿入された行はmuggledます。 私はクライアントとしてWindows上でパテを使用しています。

~$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

の明確化: ミローカルコンピュータは、WindowsのXPである私は、ターミナルクライアントとしてパテ0.60を使用しています。 MySQLが実行されているターゲットシステムは、Debian Linuxのです 私は文字エンコーディング用のパテで任意の構成を見つけることができません...

更新:愚かなパテ、WTF

「翻訳」と呼ばれるメニュー内の符号化構成を有します?
役に立ちましたか?

解決

ウィンドウにUTF8として受け取ったデータを解釈するために、

設定PuTTYを - 。>翻訳「受信したデータに文字セット」

他のヒント

Windowsは、コンソールとシステムメッセージ(パテ用途)でUTF8を処理することはできません。それはあなたのロケールのコードページを使用することを望んでいます。これは、一般的な既知の問題であり、それはCMD.EXEを書き換え、または別のコマンドラインツールを使用せずに解くことができないのです。

Microsoftは本当に自分の世界の外のエンコーディング、変なウィンドウ内の結果、特定のコードセットについては気にしたことがありません。

それは少なくとも、mysqlのCLI?

に正しく通信できるように、

たぶん、あなたはそのオプションでパテエンコードどこかを変更することができます

あなたのターミナルクライアントには、UTF8を使用して設定する必要があります。サーバー上のシェル環境もUTF8に設定する必要があります。あなたは、次のコマンドでそれをチェックアウトすることができます。

locale

これは、システムが必要な場合は、ロケール情報を修正する方法を好むか(私はLinuxを使用していると仮定している)分布に依存します。例えば、Debianの(と、私は推測する、Ubuntuの)ロケール設定を再設定するには、次のコマンドを使用するかを尋ねます。

dpkg-reconfigure locales

お知らせ。私は、彼らがこれを変更したかどうかわからないんだけど、しばらくそれをテストしていません。 : - )

もちろん、シェルにあなたがでたり、プロファイルにログインするたびに、ロケールを設定することができます。私はあなたが(あなたがすべての後にそれを行う必要がある場合: - )それを行うには配布のメソッドを使用することをお勧めします。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top