ホームページ > バックエンド開発 > PHPチュートリアル > DOS で中国語が文字化けする

DOS で中国語が文字化けする

WBOY
リリース: 2016-06-23 13:27:47
オリジナル
1279 人が閲覧しました

今日はDOSでmysqlデータベースを操作するのですが、テーブルにデータを挿入すると漢字が文字化けしてしまいます。私のデータベースとテーブルは両方とも utf8 形式です。
私のmysqlはutf8エンコーディング形式でテキストで事前に準備されており、それをコピーしてDOSに貼り付けると文字化けします。 dosのエンコードページの形式をutf8形式に変更してみたところ、うまくいくはずなのですが、漢字を貼り付けるたびに表示が不完全になり、文字化けのような現象が起きてデータを挿入できない人もいます。最初に最小値を使用してから最大化する必要があると言いますが、それは確かに可能ですが、複数の行に分割されている可能性のあるデータを挿入すると、すぐにエラーが報告されます

マスターの皆様、お願いします。助けて!


ディスカッション(解決策)への返信

誰もいませんか? ?

最小化してから開くと、このようになりますが、これらのコードがあるので、一度に実行する必要があります

mysql エディターでセット名 gbk を入力してみてください
この記事は http://blog. csdn.net/wzwsj1986/article/details/1723658

テーブルのエンコードに関係なく、コマンド ライン クライアントは GBK エンコードであることを宣言する必要があります。つまり、名前を gbk に設定してください。 mysql でセット名 gbk を編集して入力します

この記事を参照できます http://blog.csdn.net/wzwsj1986/article/details/1723658


私のデータベースとテーブルは、あなたのものと同じように、utf8 エンコード形式で設定されています、この方向で変更できるはずですが、mysql が DOS に一致するのではなく、DOS が mysql エンコードに一致する必要があります



コマンドラインクライアントは、テーブルに関係なく GBK エンコードを使用します どのエンコードを宣言する必要がありますか?クライアントが GBK でエンコードされていること、つまり、名前を gbk に設定すること。DOS のコマンド chcp 65001 は、DOS エンコード ページの形式を utf8 形式に設定できます。 DOS エンコード形式を utf8 に変更し、データベースとデータ テーブルの形式が両方とも utf8 であるため、テーブルにデータを挿入するときに文字化けが発生しないように、両側で utf8 形式を維持したいと考えています。しかし実際のところ、用意したutf8形式のsql文をDOSに貼り付けると、システムが文字化けとして扱うかどうかは分かりませんが、文字化け同様に漢字が不完全に表示されてしまいます。そうするとデータが入れられなくなります

そんなに重いですか? ?

「私の mysql は、utf8 エンコード形式でテキストで事前に用意されており、コピーして DOS に貼り付けると文字化けします。」
Windows の組み込みバージョンについてのブログを読んだ記憶があります。utf8 に問題があります。テキストエディタのエンコーディングで最初に何らかの処理が行われるようです。別のエディタを使用して SQL ステートメントを生成し、DOS でテストすることをお勧めします。 。 。 。 。
DOS ウィンドウで UTF-8 文字を表示する方法

中国語の Windows システムでは、テキスト ファイルが UTF-8 でエンコードされている場合、そのファイルは CMD.exe コマンド ライン ウィンドウ (いわゆるDOS ウィンドウ) のコンテンツ。デフォルトでは、コマンド ライン ウィンドウで使用されるコード ページは中国語またはアメリカ語です。つまり、エンコーディングは中国語文字セットまたは西洋文字セットです。

UTF-8 文字を正しく表示したい場合は、次の手順に従ってください:
1. CMD.exe コマンド ライン ウィンドウを開きます

2. chcp コマンドを使用してコード ページを変更します。 UTF-8 のコード ページは次のとおりです。 65001

chcp 65001
これを実行します 操作後、コードページはUTF-8に変更されます。ただし、UTF-8 文字は依然としてウィンドウに正しく表示できません。
3. ウィンドウのプロパティを変更し、フォントを変更します
コマンドラインのタイトルバーを右クリックし、「プロパティ」→「フォント」を選択し、フォントを True Type フォント「Lucida Console」に変更して、「OK」をクリックしますプロパティを現在のウィンドウに適用します。
この時点で、type コマンドを使用して UTF-8 テキスト ファイルの内容を表示します。
type filename.txt
4. 表示された内容が不完全である可能性があるため、上記の操作では問題を完全に解決できません。コマンド ライン ウィンドウを最初に最小化してから最大化すると、ファイルの内容が完全に表示されます。

それがどれほど複雑かを見てください!

SQL コマンドをファイルに書き込んだ後、
mysql> ファイル名
が実行されませんか?なぜコピー&ペーストするのか

DOS ウィンドウで UTF-8 文字を表示する方法

中国の Windows システムでは、テキスト ファイルが UTF-8 でエンコードされている場合、そのファイルは CMD.exe コマンド ライン ウィンドウ (いわゆる DOS) で正しく表示できません。ウィンドウ) のコンテンツ。デフォルトでは、コマンド ライン ウィンドウで使用されるコード ページは中国語またはアメリカ語です。つまり、エンコーディングは中国語文字セットまたは西洋文字セットです。
UTF-8 文字を正しく表示したい場合は、以下の手順に従ってください:
1. CMD.exe コマンド ライン ウィンドウを開きます。
2. chcp コマンドを使用してコード ページを変更します。 UTF-8 のコード ページは次のとおりです。 65001
chcp 65001
これを実行します 操作後、コードページはUTF-8に変更されます。ただし、UTF-8 文字は依然としてウィンドウに正しく表示できません。
3. ウィンドウのプロパティを変更し、フォントを変更します
コマンドラインのタイトルバーを右クリックし、「プロパティ」→「フォント」を選択し、フォントを True Type フォント「Lucida Console」に変更して、「OK」をクリックしますプロパティを現在のウィンドウに適用します。
この時点で、type コマンドを使用して UTF-8 テキスト ファイルの内容を表示します。
type filename.txt
4. 表示された内容が不完全である可能性があるため、上記の操作では問題を完全に解決できません。コマンド ライン ウィンドウを最初に最小化してから最大化すると、ファイルの内容が完全に表示されます。

それがどれほど複雑かを見てください!

SQL コマンドをファイルに書き込んだ後、
mysql> ファイル名
が実行されませんか?なぜコピーして貼り付けるのですか



このファイルを直接実行することについて話しているのですか?試したことはありませんが、できるかもしれません。しかし、ファイル内のすべてのコンテンツを実行する必要がない場合はどうすればよいでしょうか?コードの一部を実行するだけでよい場合はどうなるでしょうか? DOS で何度も入力するのは面倒ですが、このコードを貼り付けると問題が発生します。率直に言って、utf8 形式の DOS はなぜ中国語のコンテンツを utf8 形式で貼り付けることができないのでしょうか?これを理解したいだけです


「私の mysql は、utf8 エンコード形式でテキストで事前に準備されており、コピーして DOS に貼り付けると文字化けします。」
ある記事を読んだ覚えがあります。このブログ投稿では、 Windows に付属のテキスト エディターの utf8 エンコーディングに問題があるため、最初は別のエディターを使用して SQL ステートメントを生成し、DOS でテストすることをお勧めします。 。 。 。 。



EditPlusを使ってSQL文を保存しているのですが、中国語を貼り付けると文字化けしてしまう理由が分かりません(文字化けかどうかは分かりませんが、半分くらいしか表示されません)

コマンド ウィンドウは古いものです。当時の名残が現代の環境に適応しないのは普通のことです。
コマンド ウィンドウの文字セットを変更するのがどれほど面倒であるかも知っているので、そのまま使用するのではなく、それに適応する必要があります。それはあなたに適応します

1つは、set names gbkコマンドで問題を解決できますが、不可解なことにutf-8を使用する必要があります

その上、MySQLクライアントツールはたくさんあるのに、なぜcmdでハングアップしなければならないのでしょうか?

コマンド ウィンドウは古代の遺物であり、現代の環境に適応できないのは普通のことです。
コマンド ウィンドウの文字セットを変更するのがどれほど面倒であるかも知っているので、代わりにそれに適応する必要があります。彼はあなたに合わせてくれるのです

set names gbk コマンドで問題は解決できますが、不可解なことに utf-8 を使用しなければなりません

その上、MySQL クライアント ツールはたくさんあるのに、なぜ cmd で自分自身をぶら下げなければならないのでしょうか?



そうですね…これが唯一の方法かもしれません
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート