2017-02-02 24 views
0

test.txtというファイルがあります。このファイルには中国語の文字が1つだけ含まれています()。Powershell中国語の文字エンコーディングエラー

この文字は、六角エディタのビューの下にこの

enter image description here

のように見えます。

get-content test.txt | Out-File test_output.txtの場合、test_output.txtの内容はtest.txtとは異なります。なぜこの邪悪なのですか?

here( "Unicode"、 "UTF7"、 "UTF8"、 "UTF32"、 "ASCII"、 "BigEndianUnicode"、 "Default"、 "OEM")のすべてのエンコードパラメータを試しましたが、いずれも正しく漢字を変換しません。

Get-ContentOut-Fileを使用して中国語文字を正しく変換するにはどうすればよいですか?

e4 b8 adは、URLencodeのように見えるので、すべてのエンコードパラメータがこの漢字と互換性がないのはなぜですか?

私はそれぞれ​​とメモ帳++のhex-editor pluginをテキストエディタと16進エディタとして使用します。

+0

ファイル自体にはどのようなエンコーディングが使用されていますか?つまり、[BOM](https://en.wikipedia.org/wiki/Byte_order_mark)には何がありますか? – vonPryz

+0

エンコーディングはBOMのないUTF-8です。 – Brian

答えて

0

私は私のtest.txtは "E4 B8広告 0A" であるget-content test.txt -encoding UTF8 | Out-File test_output.txt -encoding UTF8

を試してみました。出力は「ef bb bf e4 b8 ad 0d 0a」

test.txtはUTF-8です。

Get-Contentは、BOMを使用しない限り、UTF-8を認識しません。 Out-Fileは、デフォルトでUTF-16を使用します。

したがって、両方のコマンドのエンコーディングを指定する必要があります。

関連する問題