web-dev-qa-db-ja.com

Windows7およびUTF-8の保存とプログラムへの表示

新しいシステムであるWindows7 Home Premiumを入手し、Notepad ++をインストールして、数日間使用しました。いくつかのhtml/phpファイルを中国語で作成し、BOMなしでUTF-8として保存しました。サーバーにアップロードしてテストしましたが、これまではすべて順調です。

どういうわけか、Notepad ++はエディタに漢字を表示しなくなり、表示されるのは正方形だけです。エンコーディング変換などで遊んでも役に立ちません。これまでのところ、Notepad ++のバグのように感じました。

次に、Komodoeditをダウンロードしてインストールしました。同じことが起こりました。 sohu.comなどの中国語のWebサイトから中国語のテキストをコピーしてエディターに貼り付けると、正方形も表示されます。

次に、同じ問題であるnotepad.exeを試します。ただし、MicrosoftWordとワードパッドでは機能します。

この問題が発生する前に私がした唯一の大きなことは、SQL Management Studio 2008x86のインストールです。これはシステムに影響を及ぼしますか?多分それはデータベースのロケールと他のすべてを変更しましたか?

これを修正する方法を知っている人はいますか?古いバージョンのWindowsでは、地域の言語設定に「言語設定を他の言語設定に拡張する」オプションがあることを覚えていますプログラム」のようなもの。しかし、Windows7ではもう見つかりません。

編集:私は見つけました http://www.sevenforums.com/general-discussion/186507-chinese-characters-display-squares-text-editors.html これは新しいプロファイルを作成するように言っています。私は試していません。しかし、そのように行くのはばかげています..。

3
Jake

システムロケールを中国語(PRC)に設定>コンピューターを再起動>目的のロケールに戻す>コンピューターを再起動すると、アプリケーションのUnicode設定がリセットされます。中国語(PRC)以外のロケールでも機能する場合があります。

これにより、メモ帳で中国語のテキストを入力して表示できますが、UTF-8(ありまたはなし)BOMの既存のファイルは永続的に破損しているようです... 誰かがそれらを復活させる方法を知っていますか? 復活する方法はないと思います。 =(

0000-0520:  76 3e 0a 09-09 09 3c 64-69 76 20 69-64 3d 22 63  v>....<d iv.id="c
0000-0530:  6f 6c 2d 74-77 6f 22 3e-0a 09 09 09-09 3c 64 69  ol-two"> .....<di
0000-0540:  76 20 63 6c-61 73 73 3d-22 73 65 63-74 69 6f 6e  v.class= "section
0000-0550:  22 3e 0a 09-09 09 09 09-3c 70 3e 3f-3f 3f 3f 3f  ">...... <p>?????
0000-0560:  3f 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f  ???????? ????????
0000-0570:  3f 32 30 30-33 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f  ?2003??? ????????
0000-0580:  3f 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f  ???????? ????????
0000-0590:  3f 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f  ???????? ????????
0000-05a0:  3f 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f  ???????? ????????
0000-05b0:  3f 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f-3f 3f 3f 3f  ???????? ????????
0000-05c0:  3f 3f 3f 3f-3f 3f 3f 3c-2f 70 3e 0a-09 09 09 09  ???????< /p>.....
0000-05d0:  09 3c 74 61-62 6c 65 20-63 6c 61 73-73 3d 22 63  .<table. class="c
0000-05e0:  6f 6e 74 61-63 74 22 3e-0a 09 09 09-09 09 3c 74  ontact"> ......<t
0000-05f0:  72 3e 3c 74-68 20 63 6f-6c 73 70 61-6e 3d 22 32  r><th.co lspan="2
0000-0600:  22 3e 3f 3f-3f 3f 3c 2f-74 68 3e 3c-2f 74 72 3e  ">????</ th></tr>
0000-0610:  0a 09 09 09-09 09 3c 74-72 3e 3c 74-64 20 63 6f  ......<t r><td.co
1
Jake

uTF-8として保存BOMなし

Windowsアプリケーションは通常、BOMに依存してUnicodeファイルのエンコーディングを識別します。

ほとんどのアプリケーションでは、「ファイル、開く」ダイアログでエンコーディングを指定できます。それを使用すれば問題はないはずです。

1
RedGrittyBrick