iso-8859-1 java_ISO 8859-1用Java程序打印的文件编码

这篇博客讨论了在Java中使用ISO 8859-1编码输出文件时遇到的问题。可能的问题在于Java默认使用了错误的编码或文件显示工具的编码设置不正确。解决方法包括调整Java的默认语言环境设置、在命令行中覆盖编码或者使用指定编码的`PrintWriter`构造函数。博客还提到了`PrintWriter`在处理编码错误时的设计特点,以及如何检查输出错误。最后,作者分享了自己在处理编码时的经验,即经常使用`OutputStreamWriter`配合`Charset.forName("UTF-8")`创建编码器。
摘要由CSDN通过智能技术生成

有两种可能性:

> Java在输出文件时使用了错误的编码.

>文件实际上是正确的,无论您使用什么来显示文件都使用错误的编码.

假设问题是第一个问题,根本原因是Java已经发现平台的默认编码不是您想要/期望的编码.有三种方法可以解决这个问题:

>弄清楚为什么Java有默认的语言环境和编码“错误”并解决了这个问题.这将与您的操作系统的区域设置有关…

>有关如何在命令行覆盖默认语言环境设置的详细信息,请阅读this FAQ.

>使用明确指定编码的PrintWriter构造函数,以便应用程序不依赖于默认编码.例如:

PrintWriter pw = new PrintWriter("filename", "ISO-8859-1");

回应此评论:

Don’t PrintWriters all have the bug that you can’t know you had an error with them?

>这不是一个错误,它是一个设计功能.

>您可以查看是否有错误.你只是无法找出它是什么.

>如果你不喜欢它,你可以改用Writer.

They won’t raise an exception or even return failure if you try to shove a codepoint at them that can’t fit in the designated encoding.

我相信一个普通的作家也不会……除非你专门建造它以做到这一点.正常行为是用特定字符替换任何不可映射的代码点,尽管这在javadocs(IIRC)中没有指定.

Do they even tell if you the filesystem fills up; I seem to recall tha

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值