折腾人的四个字符77u/

弄了小半天,找不到导出的问题,excel显示乱码,wps倒是没事。
后来突然想到了 BOM 这个问题,通过对文件 base64 编码之后,发现有无 Bom 差别就在 base64,77u/ 这字符上,然后在原来的base64,后边添加77u/

data:application/vnd.csv;base64,77u/5YWs5Y+46YOo6...

中文乱码解决!

据说不含 BOM 的 UTF-8 才是标准形式,在 UTF-8 文件中放置 BOM 主要是微软的习惯,UTF-8 和 带 BOM 的 UTF-8 的区别就是有没有 BOM。即文件开头有没有 U+FEFF。编译成base64 则为 77u/。

文件编码为 base64 工具地址: http://tools.dyniao.com/file-to-base64.html

BOM 又叫字节顺序标记(Byte Order Mark)是位于码点U+FEFF的统一码字符的名称。当以UTF-16或UTF-32来将UCS/统一码字符所组成的字符串编码时,这个字符被用来标示其字节序。它常被用来当做标示文件是以UTF-8、UTF-16或UTF-32编码的记号。它是一个Unicode字符,通常出现在文本的开头,用来标识字节序(Big/Little Endian),是高位在前还是低位在前。如果它出现在字节流的中间,则表达零宽度非换行空格的意义,用户看起来就是一个空格。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.