utf-8 csv 文件用 excel 打开乱码问题
其实这个问题很久之前遇到过, 应该是没解决, 当时的情况是openoffice打开正常而excel打开不正常, 后来也没解决了, 只能把编码转了.
这次又遇到这个问题了, 在网上一番寻找, 在一篇java的文章里找到了原因, 是由于输出的CSV文件中没有BOM.
引用
什么是BOM?
在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符”ZERO WIDTH NO-BREAK SPACE”。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little- Endian的。因此字符”ZERO WIDTH NO-BREAK SPACE”又被称作BOM。
UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符”ZERO WIDTH NO-BREAK SPACE”的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
Windows就是使用BOM来标记文本文件的编码方式的。
那么如何在PHP中输出BOM呢?
在所有内容输出之前
print(chr(0xEF).chr(0xBB).chr(0xBF));
原文地址:
http://foolbird.net/1517.html
分享到:
相关推荐
Java避免UTF-8的csv文件打开中文出现...Java避免UTF-8的csv文件打开中文出现乱码的方法是使用UTF-16LE编码格式,并在文件头部输出BOM。同时,需要考虑Excel版本的兼容性问题,以确保csv文件可以正确地被打开和读取。
本知识点将重点讨论如何使用批处理脚本(BAT)来解决这个问题,特别是在Excel中打开UTF-8编码的CSV文件时遇到的中文乱码问题。 标题中的"bat脚本将csv格式UTF-8批量转ANSI"指的是利用批处理脚本来自动化转换一批UTF...
- 在处理中文字符时,必须确保使用正确的字符编码,例如UTF-8。UTF-8是一种广泛支持的编码格式,可以正确表示大多数语言的字符,包括中文。 - 如果在读取CSV文件时使用了错误的编码(如GBK或ISO-8859-1),则会...
在ArcGIS 10.2.2版本中,用户可能会遇到一个常见的问题:当尝试用Microsoft Excel打开与ArcGIS相关的dbf文件时,数据可能会显示为乱码。这个问题主要涉及到字符编码的不匹配,下面我们将详细探讨这个问题的原因、...
5. **加载数据**:确认编码设置无误后,点击“加载”按钮,Excel将使用UTF-8编码解析CSV文件,此时中文字符应该能正常显示。 除了以上方法,你还可以尝试其他解决方案,例如在PLSQL Developer工具中直接设置导出时...
但是,当使用 `utf-8` 编码写入 CSV 文件时,如果文件开头没有 BOM (Byte Order Mark) 标记,那么 Excel 在打开文件时可能会出现乱码。这是因为 Excel 默认会根据 BOM 来判断文件的编码格式。 ```python import ...
Oracle数据库可能使用的是UTF-8或其他编码,而默认的文本编辑器或Excel可能使用不同的编码。因此,当编码不匹配时,就会出现乱码。 2. **使用记事本打开并重新保存**: 第一步是使用记事本打开CSV文件。记事本是一...
如果CSV文件的编码方式为utf-8或Unicode等,EXCEL打开时就会出现中文乱码的情况。 解决这个问题的方法是使用记事本打开CSV文件,然后点击菜单:“文件-另存为”,选择ANSI编码方式,最后保存完毕后,用EXCEL打开这...
Vtiger 5.2.1可能默认使用了一种不支持中文的编码,导致导出的Excel和CSV文件无法正确显示中文内容。 修正这个问题通常涉及以下几个步骤: 1. **检查Vtiger的字符编码设置**:Vtiger的后台配置中可能存在对字符...
通常情况下,选择“UTF-8”作为导入编码格式能够较好地解决中文乱码问题。 - 对于已知编码格式的文本文件或CSV文件,可以直接指定相应的编码格式进行导入。而对于未知编码格式的文件,建议先使用文本编辑器查看并...
DBF文件默认使用ANSI编码,而Excel可能期望UTF-8或其他编码。在尝试打开文件前,可以使用文本编辑器(如Notepad++)查看文件的编码,然后在Excel中选择相应的编码进行打开。 2. **更改Excel的打开方式**:在打开DBF...
1. 确保文件头设置了正确的字符编码,例如`charset=utf-8`。 2. 如果数据源编码与目标编码不同,使用`iconv`函数进行转换。 3. 使用`fputcsv`函数按照CSV格式写入数据。 通过以上步骤,你可以创建一个无乱码的CSV...
当一个UTF-8编码的CSV文件被Excel尝试以ANSI编码方式打开时,由于编码不匹配,Excel无法正确解析非ASCII字符,从而导致乱码的出现。 解决这个问题的方法是转换CSV文件的编码方式,使其与Excel的编码方式保持一致。...
1,所有字段如在中文,一定要以汉字开头,否则不能转为utf-8编码。 2,如转换后出现乱码,请将excel表格中的内容加上边框表格。 vcf转csv转excel步骤: 导出手机vcf文件 - VCF2CSV读取vcf转为csv表格 - 打开excel\...
在导出时,需要确保文件以UTF-8编码保存。 在实际应用中,你可以通过调整Bootstrap Table的配置和插件设置,以及确保整个数据流的编码一致性,来实现中文表格数据的顺利导出。如果遇到问题,可以查阅相关插件的文档...
里面有ipv4和ipv6地址,经纬度,城市,定位。GeoLite_-City_Locations-zh-CN.csv是ansi编码,可以用excel直接打开,GeoLite2-City-Locations-zh-CN.csv是utf-8编码,打开乱码。
- `readCsv`方法简单地使用`Files.readFirstLine`从文件中读取第一行,同样使用UTF-8编码。 - 这个方法适用于简单的读取操作,如果需要读取整个文件,可能需要使用更复杂的方法,例如逐行迭代文件。 5. **测试...
2、有可能是文件编码问题,虽然UTF-8不建议带BOM,但是导出的excle是微软的产品,所以需要把文件格式改成,UTF-8有BOM格式的。 以上这篇完美解决php 导出excle的.csv格式的数据时乱码问题就是小编分享给大家的全部...
Excel乱码解决办法 ...Excel乱码的问题可以通过使用记事本打开文件、保存文件为ANSI格式和重新打开文件等方法来解决。同时,避免乱码的方法包括使用正确的文件编码、使用记事本打开文件和使用Excel的字符集设置等。
$s = @iconv('UTF-16LE', 'utf-8', substr($s, 2));//转码,substr($s,2)的作用是去掉 BOM 头 FFFE //有的第三方数据包很不规范,控制符没有用空双引号 //可能导致列数不对应,在此加上空双引号 if(!$s){ exit('...