Android 导出CSV文件乱码问题处理

最近有一个需求,需要在Android端导出CSV文件,自测是用的WPS,没啥问题。可到了测试那边,用Excel直接打开就是乱码,需要在Excel数据里面用【从文件/CSV】打开。这样就显示非常的不方便。

解决办法:

java 复制代码
public static void exportToCsv(List<String[]> data, String filePath) throws IOException {
        File csvFolder = new File(FileIO.CSV_PATH);
        boolean isPresent = csvFolder.exists();
        if (!isPresent) {
            csvFolder.mkdir();
        }
        //FileWriter writer = new FileWriter(filePath);
        FileOutputStream fos = new FileOutputStream(filePath);
        // 写入BOM
        fos.write(0xEF); // 239
        fos.write(0xBB); // 191
        fos.write(0xBF); // 189
        OutputStreamWriter writer = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        for (String[] row : data) {
            String csvRow = String.join(",", row);

            writer.write(csvRow + "\n");
        }
        writer.flush();
        writer.close();
    }

解决方案:使用UTF-8 BOM。

相关推荐
xiaoyan20159 小时前
2026爆肝!Flutter3.41纯手撸微信聊天APP原生应用
android·flutter·dart
jinanwuhuaguo10 小时前
OpenClaw协议霸权——从 MCP 标准到意图封建化的政治经济学(第十八篇)
android·人工智能·kotlin·拓扑学·openclaw
撩得Android一次心动10 小时前
Android Room 数据库详解【源码篇】
android·数据库·android jetpack·room
TO_ZRG11 小时前
Android WorkManager 完全入门指南
android
a8a30212 小时前
Laravel 6.x新特性全解析
android
用户游民12 小时前
Android 腾讯X5WebView如何禁止系统自带剪切板和自定义剪切板视图
android·java
Lyyaoo.12 小时前
TreadLocal和TreadLocalMap
android·java·redis
CyL_Cly12 小时前
localsend安卓手机下载 支持win/mac/ubuntu
android·macos·智能手机
大尚来也12 小时前
防御现代Web威胁:使用PHP原生过滤器防止SQL注入与XSS的终极指南
android
idealzouhu12 小时前
【NDK开发】Android NDK 原生构建:ndk-build 与 CMake
android·ndk