如何在 Linux 中将文件编码转换为 UTF-8

如何在 Linux 中将文件编码转换为 UTF-8,第1张

你可以使用 file 命令,并添加 -i 或 --mime 参数来查看一个文件的字符编码,这个参数可以让程序像下面的例子一样输出字符串的 mime (Multipurpose Internet Mail Extensions) 数据:

$ file -i Car.java

$ file -i CarDriver.java

在 Linux 中查看文件的编码

iconv 工具的使用方法如下:

$ iconv option

$ iconv options -f from-encoding -t to-encoding inputfile(s) -o outputfile

在这里,-f 或 --from-code 表明了输入编码,而 -t 或 --to-encoding 指定了输出编码。

为了列出所有已有编码的字符集,你可以使用以下命令:

$ iconv -l

列出所有已有编码字符集。下面的命令将会将 ISO-8859-1 编码转换为 UTF-8 编码。

在运行 iconv 命令之后,我们可以像下面这样检查输出文件的内容,和它使用的字符编码。

$ file -i input.file

$ cat input.file

$ iconv -f ISO-8859-1 -t UTF-8//TRANSLIT input.file -o out.file

$ cat out.file

$ file -i out.file

在 Linux 中将 ISO-8859-1 转化为 UTF-8

注意:如果输出编码后面添加了 //IGNORE 字符串,那些不能被转换的字符将不会被转换,并且在转换后,程序会显示一条错误信息。

好,如果字符串 //TRANSLIT 被添加到了上面例子中的输出编码之后 (UTF-8//TRANSLIT),待转换的字符会尽量采用形译原则。也就是说,如果某个字符在输出编码方案中不能被表示的话,它将会被替换为一个形状比较相似的字符。

JAVA有一个public String(byte bytes[], Charset charset)函数可以用指定字节数组和编码来构造字符串。一个public byte[] getBytes(Charset charset)函数把字符串按指定编码来得到字节数组。可以用这两个函数来实现编码转换。

下面是一个简单的例子,注意一下例子中的文字本身的编码,最好在自己的环境中用gb2312重新输入,不然可能是乱码。当然转换后输出肯定有一个是乱码,也肯能都是乱码。根据你的编辑器的编码格式有关。public class EncodingTest

{

public static void main(String[] args)

{

try

{

String gb = new String("国标2312".getBytes(),"gb2312")

System.out.println(gb)

byte [] b = gb.getBytes("gb2312")

String ios = new String(b,"ISO-8859-1")

System.out.println(ios)

} catch (UnsupportedEncodingException e)

{

e.printStackTrace()

}

}

}

 

 

解决的方法之一:

在每一个网页里增加

<meta

http-equiv="Content-Language"

content="zh-cn">

<meta

http-equiv="Content-Type"

content="text/html

charset=GB2312">

并在APACHE的httpd.conf配置文件中将AddDefaultCharset

ISO-8859-1

改为

AddDefaultCharset

off

解决的方法之二:

直接在httpd.conf配置文件中将AddDefaultCharset

ISO-8859-1

改为

AddDefaultCharset

GB2312

.ZH-CN

.zh-cn

上述两种方法都可以解决apache

Web服务器网页显示乱码的问题。

其中以第二种方法最好最简单,且一劳永逸。

 

 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11936398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存