linux 如何将ISO 8859 -15转换为UTF8?

b5lpy0ml  于 2023-06-29  发布在  Linux
关注(0)|答案(8)|浏览(169)

我有一个用ISO8859-15编码的阿拉伯文文件。如何将其转换为UTF8?
我使用iconv,但它不适合我。

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

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

gtlvzcf8

gtlvzcf81#

您的文件是否未使用ISO-8859-15编码?您应该能够使用file命令进行检查:

file YourFile.txt

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

iconv -t UTF-8 YourFile.txt
dm7nw8vv

dm7nw8vv2#

我发现这对我很有效:

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

4smxwvx53#

我有ubuntu14和其他答案,那里没有为我工作

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

我发现这个命令here

guz6ccqo

guz6ccqo4#

我们有这个问题要解决

创建名为www.example.com的脚本文件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

希望能帮上忙。

but5z9lq

but5z9lq5#

我也遇到了同样的问题,但我在this page中找到了答案!对我有用,你可以试试。

iconv -f cp936 -t utf-8 
frebpwbc

frebpwbc6#

在我的例子中,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
af7jpaap

af7jpaap7#

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

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

gtlvzcf88#

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

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.

相关问题