53

ISO8859-15でエンコードされたアラビア語ファイルがあります。どうすればUTF8に変換できますか?
使用iconvしましたが、うまくいきません。

iconv -f ISO-8859-15 -t UTF-8 Myfile.txt

ファイルを添付したかったのですが、方法がわかりません。

4

8 に答える 8

53

ファイルがISO-8859-15でエンコードされていない可能性がありますか?fileコマンドで確認できるはずです。

ファイルYourFile.txt

また、元のファイルのエンコーディングを提供せずにiconvを使用できます。

iconv -t UTF-8 YourFile.txt

于 2012-08-31T12:06:13.490 に答える
34

私はこれが私のために働くことを発見しました:

iconv -f ISO-8859-14 Agreement.txt -t UTF-8 -o agreement.txt
于 2015-03-13T21:11:23.727 に答える
13

私はubuntu14と他の答えを持っていますが、私にはうまくいきません

iconv -f ISO-8859-1 -t UTF-8 in.tex > out.tex

ここでこのコマンドを見つけました

于 2017-02-12T11:57:11.730 に答える
6

私たちはこの問題を抱えており、解決する必要があります

to-utf8.shというスクリプトファイルを作成します

#!/bin/bash
TO="UTF-8"; FILE=$1
FROM=$(file -i $FILE | cut -d'=' -f2)
if [[ $FROM = "binary" ]]; then
 echo "Skipping binary $FILE..."
 exit 0
fi
iconv -f $FROM -t $TO -o $FILE.tmp $FILE; ERROR=$?
if [[ $ERROR -eq 0 ]]; then
  echo "Converting $FILE..."
  mv -f $FILE.tmp $FILE
else
  echo "Error on $FILE"
fi

実行可能ビットを設定します

chmod +x to-utf8.sh

変換を行う

./to-utf8.sh MyFile.txt

フォルダ内のすべてのファイルを変換する場合は、

find /your/folder/here | xargs -n 1 ./to-utf8.sh

お役に立てば幸いです。

于 2020-02-06T18:34:06.347 に答える
3

私の場合、fileコマンドは間違ったエンコーディングを指示しているので、可能なすべてのエンコーディングで変換してみて、正しいエンコーディングを見つけました。

このスクリプトを実行し、結果ファイルを確認します。

for i in `iconv -l`
do
   echo $i
   iconv -f $i -t UTF-8 yourfile | grep "hint to tell converted success or not"
done &>/tmp/converted
于 2016-04-14T10:04:17.310 に答える
2

ISO-8859-9エンコーディングを使用できます。

iconv -f ISO-8859-9 Agreement.txt -t UTF-8 -o agreement.txt
于 2016-08-17T15:52:48.067 に答える
1

同じ問題が発生しましたが、このページで答えを見つけました !それは私のために働きます、あなたはそれを試すことができます。

iconv -f cp936 -t utf-8 
于 2019-01-29T02:55:32.460 に答える
0

Iconvは、変換されたテキストをstdoutに書き込むだけです。パラメータとして使用する-o OUTPUTFILE.txtか、stdoutをファイルに書き込む必要があります。(iconv -f x -t z filename.txt > OUTPUTFILE.txt または iconv -f x -t z < filename.txt > OUTPUTFILE.txt一部のiconvバージョンでは)

Synopsis

iconv -f encoding -t encoding inputfile

Description

The iconv program converts the encoding of characters in inputfile from one coded character set to another. 
**The result is written to standard output unless otherwise specified by the --output option.**

--from-code, -f encoding

Convert characters from encoding

--to-code, -t encoding

Convert characters to encoding

--list

List known coded character sets

--output, -o file

Specify output file (instead of stdout)

--verbose

Print progress information.
于 2017-06-21T13:28:14.450 に答える