关于linux:如何将ISO8859-15转换为UTF8?

How to convert ISO8859-15 to UTF8?

我有一个用ISO8859-15编码的阿拉伯语文件。如何将其转换为utf8?我用过iconv,但它对我不起作用。

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

我想附加文件,但不知道怎么做。


你的文件不是ISO-8859-15编码的吗?您应该能够使用文件命令:

1
file YourFile.txt

进行检查。

此外,您可以使用iconv而不提供原始文件的编码:

1
iconv -t UTF-8 YourFile.txt


我发现这对我有用:

1
iconv -f ISO-8859-14 Agreement.txt -t UTF-8 -o agreement.txt


我有Ubuntu14和其他答案,没有为我工作。

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

我在这里找到了这个命令


在我的例子中,file命令告诉了错误的编码,所以我尝试用所有可能的编码进行转换,并找到了正确的编码。

执行此脚本并检查结果文件。

1
2
3
4
5
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

您可以使用ISO-8859-9编码:

1
iconv -f ISO-8859-9 Agreement.txt -t UTF-8 -o agreement.txt

我也有同样的问题,但我在这一页找到了答案!它对我有用,你可以试试。

1
iconv -f cp936 -t utf-8 


iconv只将转换后的文本写入stdout。您必须使用-o OUTPUTFILE.txt作为参数或将stdout写入文件。(某些ICONV版本中的iconv -f x -t z filename.txt > OUTPUTFILE.txticonv -f x -t z < filename.txt > OUTPUTFILE.txt)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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.