web-dev-qa-db-ja.com

Linuxシステムでの文字エンコード

私はその文字セットが8859-9であるウェブページを持っています、そしてそれは文字エンコードASCIIでウィンドウで準備されました。 ftpアクセスから、ubuntuでgeditを介して開き、トルコ語の文字が次のように変更されます(トルコ語のıがýになりました)。このような愚かなことを避けるために私は何ができますか?

3
edib

ロケールをtr_TR.ISO-8859-9に設定してみましたか

現在のロケールを確認するには、引数なしでlocaleコマンドを使用します。 LANGUAGEを除く、関連するすべての環境変数の値を出力します。 locale charmapは、現在のエンコーディングの名前を出力します。使用可能なロケールを確認するには、locale -aと入力します。使用可能なエンコーディングを確認するには、locale -mと入力します。

Geditのファイルを開くダイアログを使用する場合は、開くファイルに適切なエンコーディングを選択できます。

上記が役に立たない場合は、file filenameの出力とhexdump -C filenameの出力の10relevant行で質問を更新してください

このような愚かなことを避けるために私は何ができますか?

いつでもどこでもすべてにutf-8を使用してください。 iconvまたはrecodeを使用して、utf-8以外のものをutf-8に変換します。使用するすべてのフォントが、使用する scripts をサポートしていることを確認してください(つまり、関連するUnicode範囲のグリフがあります)。

2
RedGrittyBrick

iconvで変換できます。

$ iconv -f iso-8859-1 -t utf-8 somefile.latin1 > somefile.utf8

$

iconvの代わりに、recodeを使用します。まだわかっていない場合は、fileコマンドで文字セットを見つけることができます。

$ file somefile.latin1
somefile.latin1: ISO-8859 text

$
2
hlovdal