更新时间:
#读取文本文件时<U+FEFF> 导致的奇怪问题
项目中经常会从一些文本文件中读取数据进行业务处理,最近遇到一个问题,另外一个部门提供一个txt文本给我们进行业务处理,当我们使用字符流读取文本之后,处理时,发现第一行数据无法匹配,其他数据可以正常处理,第一反应是文本文件可能有问题,可能有一些不可见字符,于是把文本文件拷贝到linux上通过命令查看,发现第一行最前面多了一个<U+FEFF>,问题可能就出在这个地方了,简单测试如下
4. 将文件放到linux上查看(使用less命令,其他命令可能看不到效果):
<U+FEFF><?xml version="1.0" encoding="utf-8"?>
发现词语之前多了一个<U+FEFF> ,问题可能就出在这个地方
发现词语之前多了一个<U+FEFF> ,问题可能就出在这个地方
5、去掉多余的字符
1)In your terminal, open the file using vim: vim file_name 2) Remove all BOM characters: :set nobomb 3) Save the file: :wq
6、用新文件覆盖之后,再次测试就正常了。
通过上面这几步,一切都很清楚了吧。