UTF-8+BOM 格式文件如何转换成UTF-8格式?


UTF-8格式的文件,经过“记事本”保存后变为了UTF-8+BOM,服务器上没有其他的文本编辑工具了,该怎么办?
eclipse中*.properties文件的默认字符编码是ISO-8859-1,某日,我为了加上中文注释改为了UTF-8,结果出了一次事故。我把打包好的war包放到服务器上,打开了其中一个properties文件,修改后保存。然后启动tomcat,报错了。
当时,以为properties文件不能用UTF-8保存,只得重新改为ISO-8859-1.这才得以正常运行。
某日闲来无事,在本地重现了错误。
用eidtplus可以看到,记事本改后,文件编码为UTF-8+BOM。

java 编码

狼と香辛料 12 years, 4 months ago

自己写个工具FileInputStream就可以
1、读取前3个字节判断是否是 0xEF 0xBB 0xBF
2、获取文件长度 FileInputStream.getChannel().size();
3、如果前3个字节是以上0x值 从第四个开始读取将剩余数据读取内存中。 FileInputStream.read(byte[],3,length-3); 这里的byte[]你自己定义长度就是size-3
4、关闭文件流
5、将新的内存文件写到磁盘中。

Hasen answered 12 years, 4 months ago

Your Answer