次の履歴を含むファイルがあります。
CENTURY®KETTLEBELLS
COLEMANTT40°BAG
AlphaPro2¾TDLE
Lot™Stretch
M6×30
通常はメモ帳ファイルに表示されますが、キャプチャすると端末に次のように表示されます。
CENTURY▒KETTLEBELL
AlphaPro2▒TDLE
Lot▒Stretch
M6▒30
この問題を解決する方法はありますか?両方のファイルをこの値と比較する必要があります。 █すべてが違いを示すからです。助けてください
編集する:
ファイルエンコーディングは次のとおりです。
$ file FULL_ITM.txt
FULL_ITM].txt: ascii text
$
以下は locale コマンドの出力です。
$ locale
LANG=en_US
LC_COLLATE="en_US"
LC_CTYPE="en_US"
LC_MONETARY="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_MESSAGES="en_US"
LC_ALL=
結果は次のとおりです。
LC_ALL=C od -c FULL_ITM.txt
0000000 C E N T U R Y 302 256 K E T T L E B
0000020 E L L S \n C O L E M A N T T 4 0
0000040 302 260 B A G \n A l p h a P r o 2 302
0000060 276 T D L E \n L o t 342 204 242 S t r e
0000100 t c h \n M 6 303 227 3 0 \n
0000113
答え1
ISO-8859ロケールを使用しており、ファイルはUTF-8です。
私の提案は、システムに適したUTF-8ロケールを生成し、現在のロケールの代わりにそれを(永久に)使用することです。
残念ながら、オペレーティングシステムやLinuxディストリビューションを教えてくれなかったので、Debian型システムでロケールを設定する方法は次のとおりです。
dpkg-reconfigure locales
ルートとしてen_US
UTF-8を含むバージョンを選択します。これがあなたのシステムなら、デフォルトに設定してください