今天在文件读取西欧国家的语言时,发现乱码,于是搜索了下,发现是编码格式的问题:
从维基百科中找到德语的乱码问题,上面这样说道:
乱码问题
由于德语的计算机编码为西欧语言,国际标准为ISO-8859-1,所以在使用GB系列或BIG5编码的中文系统(如常见的Windows系列)中用一些纯文本无法正确显示变音字符,必须将德文文字转换为Unicode编码才能在文字编辑工具中正常显示。特别是在使用默认GB2312的浏览器查看没有给出语言编码的德文网页时也会出现乱码。但在中文版的GNU/Linux中由于默认使用了UTF-8而避免了乱码。如果变音字符直接用GB系列或BIG5编码保存再次打开就会变成乱码。
德语譬如: Graubünden
于是代码段更改:
/**
* format String Code
* @param str
* @return
*/
private String FormatStringCode(String str){
try {
str = new String(str.getBytes(), "ISO-8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return str;
}
解决了这个问题,为了防止下次遇到其他特殊字符的编码问题,于是稍做整理了下:
ISO 8859系列字符集
ISO 8859系列字符集是欧洲计算机制造商协会(ECMA)在上世纪80年代中期设计,并被国际标准化(ISO)组织采纳为国际标准。ISO 8859系列字符集目前有15个字符集,包括:
- ISO 8859-1 大部分的西欧语系,例如英文、法文、西班牙文和德文等(Latin-1)
- ISO 8859-2 大部分的中欧和东欧语系,例如捷克文、波兰文和匈牙利文等(Latin-2)
- ISO 8859-3 欧洲东南部和其它各种文字(Latin-3)
- ISO 8859-4 斯堪的那维亚和波罗的海语系(Latin-4)
- ISO 8859-5 拉丁文与斯拉夫文(俄文、保加利亚文等)
- ISO 8859-6 拉丁文与阿拉伯文
- ISO 8859-7 拉丁文与希腊文
- ISO 8859-8 拉丁文与希伯来文
- ISO 8859-9 为土耳其文修正的Latin-1(Latin-5)
- ISO 8859-10 拉普人、北欧与爱斯基摩人的文字(Latin-6)
- ISO 8859-11 拉丁文与泰文
- ISO 8859-13 波罗的海周边语系,例如拉脱维亚文等(Latin-7)
- ISO 8859-14 凯尔特文,例如盖尔文、威尔士文等(Latin-8)
- ISO 8859-15 改进的Latin-1,增加遗漏的法文、芬兰文字符和欧元符号(Latin-9)
- ISO 8859-16 罗马尼亚文(Latin-10)
其中缺少的编号12据说是为了预留给天城体梵文字母(Deva-nagari)的。印地文和尼泊尔文都使用了这种在七世纪形成的字母表。由于印度定义了自己的编码ISCII(Indian Script Code for Information Interchange),所以这个编号就未被使用。ISO 8859系列字符集都是单字节字符集,即只使用0x00-0xFF对字符编码。
Thanks,
wengel
相关推荐
java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt...
解决Java读取CSV文件中文乱码问题的步骤如下: 1. **指定字符编码**:在使用`BufferedReader`或者`FileReader`读取文件时,应明确指定编码。例如,使用`InputStreamReader`构造函数可以传入编码类型,如`new ...
Java 读写文件避免中文乱码 Java 语言在读写文件时,经常会 gặp到中文乱码的问题。这是因为 Java 默认使用的字符编码是 ISO-8859-1,而中文字符在这个编码中无法正确地表示。为了避免中文乱码,需要使用正确的...
"Java读取TXT文本文件乱码解决方案" Java 读取 TXT 文本文件乱码解决方案中,主要讨论的是在 Java 中读取 TXT 文本文件时出现乱码的问题,并提供了解决方案。 首先,文章中提供了一个简单的读取 TXT 文件的代码,...
在Java中,`java.util.zip`包提供了对ZIP文件的基本操作,但默认使用的是平台默认的字符集,这可能在跨平台操作时引发乱码问题。 为了解决这个中文乱码问题,我们需要在创建ZipEntry时指定合适的字符集,通常是UTF-...
在Java编程中,遇到“java 读取文件乱码”的问题通常是由于编码格式不匹配导致的。当程序按照一种编码方式打开文件,而文件实际采用的是另一种编码时,就会出现乱码现象。解决这个问题需要理解Java中处理字符编码的...
首先,我们需要了解如何使用Java的标准库`java.io`和`java.nio`来读取CSV文件。最常用的是使用`BufferedReader`配合`Scanner`或者`Files.lines()`方法。例如: ```java import java.io.BufferedReader; import java...
然而,在Java中读取和写入csv文件时,中文字符如果不正确地处理,可能会出现乱码的情况。下面我们将详细介绍Java避免UTF-8的csv文件打开中文出现乱码的方法。 首先,需要了解UTF-8和UTF-16LE这两种编码格式。UTF-8...
在Java编程中,读取远程网页内容是一项常见的任务,但可能会遇到编码问题导致乱码。本文将深入探讨这个问题,提供有效的解决方案,确保正确地读取和处理远程网页的字符编码。 首先,理解网页编码至关重要。网页通常...
在Java编程中,读取和写入TXT文件时,经常遇到中文乱码的问题。这是因为Java默认的字符编码可能与TXT文件的实际编码不一致,导致字符无法正确解析。本篇文章将深入探讨这个问题,并提供完整的源码解决方案。 首先,...
在Java编程语言中,按顺序读取文件是基础且重要的操作。这通常涉及到使用I/O流(Input/Output Stream)来处理文件数据。本篇文章将深入探讨如何在Java中实现按顺序读取文件,以及涉及的相关知识点。 首先,Java提供...
在Java编程语言中,文件读取是常见的任务,可以用于处理各种类型的数据,如文本、图像、音频等。本文将详细介绍Java中四种不同的文件读取方法:按字节读取、按字符读取、按行读取以及随机读取。 1. **按字节读取...
JAVA实现远程文件读取 JAVA是一种广泛应用于软件开发的编程语言,随着网络技术的发展,JAVA也提供了许多支持远程文件读取的功能,本文将详细介绍JAVA实现远程文件读取的知识点。 1. Socket 编程 在JAVA中,Socket...
在Java编程中,读取中文文件时可能会遇到乱码问题,这是由于字符编码不匹配导致的。本篇文章将深入探讨这个问题,并提供解决方案。 首先,我们要理解什么是字符编码。字符编码是用来表示文本中字符的一种方式,常见...
根据给定的文件信息,我们可以总结出一系列关于Java中读取文件的方法,这些方法涵盖了不同层次的数据读取,包括字节、字符以及行级别的读取。以下是对这些知识点的详细阐述: ### Java读取文件方法大全:读取File流...
在Java编程语言中,读取文件是一项常见的操作,尤其是在处理数据、日志文件或配置信息时。本文将详细解析如何使用Java读取文本文件,基于提供的代码示例,深入探讨其工作原理及最佳实践。 ### Java读取文本文件的...
在这个场景中,我们关注的是“java文件读写”,特别是读取`properties`配置文件和处理目录及文件的操作。下面我们将详细探讨这两个主题。 首先,`properties`配置文件是Java应用中常用的一种存储配置信息的方式。...
在Java中生成CSV(Comma Separated Values)文件时,可能会遇到乱码问题,这通常是由于编码设置不正确导致的。CSV文件是一种常见的数据交换格式,通常用于导入和导出数据到电子表格程序如Microsoft Excel。当在Java...