Unicode文字を含む英語のテキストを編集することがあります。何らかの理由で、私のPCでは、Notepad ++が nicode characters を???に変換するため、テキストが破損し、すべてのデータが失われます。 Unicode文字を保持しながら、そのようなテキストを編集する方法を探しています。私は Consolas をフォントとして使用しています。フォントにこれらの文字がすべて含まれていない場合、Notepad ++から(Windowsのクリップボードを介して)テキストをコピーすると、データが失われるのはなぜですか?
ファイルが実際にUnicodeでエンコードされている場合、Notepad ++はそれを自動的に検出するはずです。 Consolasフォント がうまく機能します。次の2つのメニューオプションのいずれかを試すことができます。
最初のものはあなたがしたいことをするでしょう。
質問で説明されている問題は、empty/newドキュメントが "ANSI"に設定されており、それに nicode 文字が貼り付けられている場合に発生します。
空のドキュメントや新しいドキュメントで使用する場合、少なくとも私がテストしたNotepad ++のバージョン(v5.4.5)では自動検出は行われません。 「ANSI」は、メニュー設定→設定→タブ新規ドキュメント/保存ディレクトリを開くで設定されていない限り、新しいドキュメントのNotepad ++のデフォルトです。
ソリューション
解決策は、貼り付け前にエンコーディングを TF-8 に設定することです。メニューFormat→Encode in UTF-8:
例
Wikipediaのページを表示しているFirefoxからロシア語(русскийязык、russkiy yazyk)というテキストを新しいNotepad ++ドキュメントにコピーしましたロシア語。
エンコーディングがnotの場合、 "ANSI"から変更すると、次のような結果になります。
エンコーディングisが変更された場合、これは結果です:
下の図( キリル文字 の部分が強調表示されている)からわかるように、Notepad ++は実際にUnicode文字をASCII 63(16進数3F)、疑問符に変換します。クリップボードを介してテキストをコピーすると("ANSI"モードで)Unicode文字が失われるのはこのためです(notフォントの問題です-情報が失われます)。
テスト済み:Notepad ++ v5.4.5(UNICODE)。
良いニュースと悪いニュースがあります。
朗報: Notepad ++はUnicodeをサポートしています(少なくとも私が収集できるものから)。
悪いニュース:どうやらUnicodeのサポートはWindows XPでのみです。
私の前には実際にはWindowsマシンがありません。私が覚えていることから、どこかでFormatメニューの下にEncodingメニューがあります。 Unicodeのエンコーディングは、実際には最も一般的にはUTF-8です。
以下は、Notepad ++でのUnicodeサポートの「かなり」の図です。
UnicodeはWindows 7で完全に機能します。唯一の問題は、変更された文字を再入力する必要があることです。それは私に起こりました。スカンジナビアの文字で書いているので、ä-> E4、ö-> F6となります。それらすべてを置き換えるのはお尻の痛みですが、それだけの価値があります。
ANSI-> UTF-8からページをエンコードすると、文字の問題が発生します。
まず、UTF-8で新しいページを作成してから、情報をコピーして貼り付けることをお勧めします。その時、何の問題もありません/すべきではありません。
これは私のために働いています:
PCのスタイルコンフィギュレーターでフォントをCourier Newに変更しました(英語/米国文字セットのWindows 7および非Unicodeセットのルーマニア語)。 Courier New&Tahomaフォント+ UTF-8エンコーディングで動作します。
トップメニューでEncoding
を選択し、次にEncode in UTF-8
またはEncode in UTF-8 Without BOM
を選択すると、テキストをUnicodeエンコードで編集できます。