web-dev-qa-db-ja.com

Notepad ++でUnicodeテキストを編集するにはどうすればよいですか?

Unicode文字を含む英語のテキストを編集することがあります。何らかの理由で、私のPCでは、Notepad ++が nicode characters を???に変換するため、テキストが破損し、すべてのデータが失われます。 Unicode文字を保持しながら、そのようなテキストを編集する方法を探しています。私は Consolas をフォントとして使用しています。フォントにこれらの文字がすべて含まれていない場合、Notepad ++から(Windowsのクリップボードを介して)テキストをコピーすると、データが失われるのはなぜですか?

26
Robinicks

ファイルが実際にUnicodeでエンコードされている場合、Notepad ++はそれを自動的に検出するはずです。 Consolasフォント がうまく機能します。次の2つのメニューオプションのいずれかを試すことができます。

  • エンコード->UTF-8でエンコード
  • エンコード->UTF-8に変換

最初のものはあなたがしたいことをするでしょう。

15
DisgruntledGoat

質問で説明されている問題は、empty/newドキュメントが "ANSI"に設定されており、それに nicode 文字が貼り付けられている場合に発生します。

空のドキュメントや新しいドキュメントで使用する場合、少なくとも私がテストしたNotepad ++のバージョン(v5.4.5)では自動検出は行われません。 「ANSI」は、メニュー設定設定→タブ新規ドキュメント/保存ディレクトリを開くで設定されていない限り、新しいドキュメントのNotepad ++のデフォルトです。

ソリューション

解決策は、貼り付け前にエンコーディングを TF-8 に設定することです。メニューFormatEncode in UTF-8

Menu command "menu Format/Encode in UTF-8" about to be executed

Wikipediaのページを表示しているFirefoxからロシア語(русскийязык、russkiy yazyk)というテキストを新しいNotepad ++ドキュメントにコピーしましたロシア語

エンコーディングがnotの場合、 "ANSI"から変更すると、次のような結果になります。

Result of pasting the Unicode string "Russian (русский язык, russkiy yazyk" into a new Notepad++ document without changing the encoding from the default "ANSI".

エンコーディングisが変更された場合、これは結果です:

Result of pasting the Unicode string "Russian (русский язык, russkiy yazyk" into a new Notepad++ document after changing the encoding from the default "ANSI" to "UTF-8".

下の図( キリル文字 の部分が強調表示されている)からわかるように、Notepad ++は実際にUnicode文字をASCII 63(16進数3F)、疑問符に変換します。クリップボードを介してテキストをコピーすると("ANSI"モードで)Unicode文字が失われるのはこのためです(notフォントの問題です-情報が失われます)。

Screenshot of a hex view of said document

テスト済み:Notepad ++ v5.4.5(UNICODE)。

15
Peter Mortensen

良いニュースと悪いニュースがあります。

朗報: Notepad ++はUnicodeをサポートしています(少なくとも私が収集できるものから)。

悪いニュース:どうやらUnicodeのサポートはWindows XPでのみです。

私の前には実際にはWindowsマシンがありません。私が覚えていることから、どこかでFormatメニューの下にEncodingメニューがあります。 Unicodeのエンコーディングは、実際には最も一般的にはUTF-8です。

以下は、Notepad ++でのUnicodeサポートの「かなり」の図です。

enter image description here

5
Josh Hunt

UnicodeはWindows 7で完全に機能します。唯一の問題は、変更された文字を再入力する必要があることです。それは私に起こりました。スカンジナビアの文字で書いているので、ä-> E4、ö-> F6となります。それらすべてを置き換えるのはお尻の痛みですが、それだけの価値があります。

ANSI-> UTF-8からページをエンコードすると、文字の問題が発生します。

まず、UTF-8で新しいページを作成してから、情報をコピーして貼り付けることをお勧めします。その時、何の問題もありません/すべきではありません。

3
Sloshed

これは私のために働いています:

PCのスタイルコンフィギュレーターでフォントをCourier Newに変更しました(英語/米国文字セットのWindows 7および非Unicodeセットのルーマニア語)。 Courier New&Tahomaフォント+ UTF-8エンコーディングで動作します。

1
rapy rapy

トップメニューでEncodingを選択し、次にEncode in UTF-8またはEncode in UTF-8 Without BOMを選択すると、テキストをUnicodeエンコードで編集できます。

0
Siavash