<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    csv 文件打開(kāi)亂碼,有哪些方法可以解決?

    Excel 在讀取 csv 的時(shí)候是通過(guò)讀取文件頭上的 bom 來(lái)識(shí)別編碼的,這導(dǎo)致如果我們生成 csv 文件的平臺(tái)輸出無(wú) bom 頭編碼的 csv 文件(例如 utf-8 ,在標(biāo)準(zhǔn)中默認(rèn)是可以沒(méi)有 bom 頭的),Excel 只能自動(dòng)按照默認(rèn)編碼讀取,不一致就會(huì)出現(xiàn)亂碼問(wèn)題了。

    掌握了這點(diǎn)相信亂碼已經(jīng)無(wú)法阻擋我們前進(jìn)的步伐了:只需將不帶 bom 頭編碼的 csv 文件,用文本編輯器(工具隨意,推薦 notepad++ )打開(kāi)并轉(zhuǎn)換為帶 bom 的編碼形式(具體編碼方式隨意),問(wèn)題解決。

    當(dāng)然,如果你是像我一樣的碼農(nóng)哥哥,在生成 csv 文件的時(shí)候?qū)懭?bom 頭更直接點(diǎn),用戶會(huì)感謝你的。

    附錄:對(duì)于 utf-8 編碼,unicode 標(biāo)準(zhǔn)中是沒(méi)有 bom 定義的,微軟在自己的 utf-8 格式的文本文件之前加上了EF BB BF三個(gè)字節(jié)作為識(shí)別此編碼的 bom 頭,這也解釋了為啥大部分亂碼都是 utf-8 編碼導(dǎo)致的原因

    SPRING BATCH中生成CSV文件時(shí)的解決方案:
    new FlatFileItemWriterBuilder<T>()
          .name(itemWriterName)
          .resource(outputResource)
          .lineAggregator(lineAggregator)
          .headerCallback(
          h -> {
                   System.out.println(header);
                   h.write('\uFEFF');//只需加這一行
                   h.write(header);
               }
          )
          .build();

    https://stackoverflow.com/questions/48952319/send-csv-file-encoded-in-utf-8-with-bom-in-java

    posted on 2021-03-23 10:30 paulwong 閱讀(374) 評(píng)論(0)  編輯  收藏 所屬分類: SPRINGSRPING BATCH

    主站蜘蛛池模板: 日本v片免费一区二区三区| 久久精品一本到99热免费| 中国在线观看免费高清完整版| 亚洲视频在线精品| 污视频网站在线观看免费| 欧美男同gv免费网站观看| 亚洲蜜芽在线精品一区| 久久er国产精品免费观看2| 日韩亚洲变态另类中文| 久久丫精品国产亚洲av| 国产精品自拍亚洲| 亚洲精品国产高清不卡在线| 亚洲AV无码资源在线观看| 日韩视频在线免费观看| 亚洲AV网一区二区三区| 亚洲成a人片在线播放| 一级毛片免费在线观看网站| 久久亚洲中文字幕精品一区| 一区二区免费电影| 久久精品国产亚洲AV麻豆不卡| 免费A级毛片无码A∨| 久久精品国产亚洲αv忘忧草| 成人性生交大片免费看午夜a| 亚洲精品无码高潮喷水A片软| 免费jjzz在在线播放国产| 丁香花在线观看免费观看图片| 亚洲av永久无码精品秋霞电影影院| 久久久免费精品re6| 亚洲欧美国产国产一区二区三区 | 日韩一级免费视频| 国产精品永久免费| 亚洲综合图片小说区热久久| 毛片免费观看的视频在线| 一级毛片免费一级直接观看| 久久亚洲私人国产精品| 日韩一级在线播放免费观看| 免费视频精品一区二区三区| 久久久久久亚洲精品影院| 伊人久久大香线蕉亚洲| 成年在线网站免费观看无广告| 十八禁视频在线观看免费无码无遮挡骂过 |