下载csv 文件中文不乱码


String helloString ="姓名,年龄 \n李亚希,33";
response.setContentType("application/x-download");
String filedisplay = "hello" + ".csv";
response.addHeader("Content-Disposition", "attachment;filename="
+ filedisplay);
try {
OutputStream out = response.getOutputStream(); //OutputStreamWriter write = new OutputStreamWriter(out , "utf-8");
OutputStreamWriter write = new OutputStreamWriter(out , "gb2312");

write.write(helloString);
write.close();
CSV 文件中汉字出现乱,通常是因为 **文件格式不匹配**。在 Python 中,如果你没有明确指定 `encoding='utf-8-sig'` 或 `utf-8`,或者打开 CSV 文件的程序(如 Excel)未正确识别编,就会导致中文显示乱。 --- ### ✅ 解决方法 你只需要在写入 CSV 文件时,**指定正确的编格式**,推荐使用 `utf-8-sig`,它会在文件开头添加 BOM(字节顺序标记),帮助 Excel 等程序正确识别 UTF-8 编中文。 --- ### ✅ 修改代如下(关键修改在 `open()` 的 encoding 参数): ```python # ...(前面的代不变) with open(output_path, 'w', newline='', encoding='utf-8-sig') as csv_file: writer = csv.writer(csv_file) writer.writerow(["subject", "change_id", "owner_email", "submitted"]) writer.writerows(extracted_data) ``` --- ### ✅ 说明: | 编方式 | 是否推荐 | 说明 | |-----------------|----------|------| | `utf-8` | ✅ | 通用编,但 Excel 打开时可能乱 | | `utf-8-sig` | ✅✅✅ | 推荐!自动识别中文,Excel 支持良好 | | `gbk` | ❌ | 仅支持中文,不推荐,跨平台易出错 | --- ### ✅ 验证方式: 1. 使用记事本打开 CSV 文件,点击“文件” -> “另存为”,查看编是否为 `UTF-8` 或 `UTF-8 with BOM`。 2. 使用 Excel 打开时,确保中文正常显示。 --- ### ✅ 其他建议: - 如果你在 Linux 或 Mac 上使用文本编辑器打开 CSV 文件,请确保编辑器设置为 UTF-8 编。 - 如果仍然有问题,可以尝试用 `pandas` 写入 CSV,它对编支持更友好。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值