Java:如何将java.lang.String转换为ISO 8859-1格式

时间:2012-11-19 05:17:59

标签: java encoding iso

在我的应用程序中,我正在通过CSVParser解析ISO 8859-1格式的数据。但是当我将解析后的数据存储到String数组中时,然后与数据库中相应的ISO 8859-1格式化数据进行交叉检查,字符串数组不支持某些字符映射(例如:μ编码为?)。这是我的解析代码:

CSVReader reader;
    List<String[]> list = new ArrayList<String[]>();
    try {
        reader = new CSVReader(new InputStreamReader(new FileInputStream(new File(directory))), Configuration.CSV_SEPERATOR);

        list = reader.readAll();    
for (String[] singleStock : list) {
}

String [] singleStock,用于保存已解析的数据。

3 个答案:

答案 0 :(得分:4)

您需要在创建CharSet

时指定InputStreamReader

示例:

new InputStreamReader(new FileInputStream(new File(directory)),Charset.forName("ISO-8859-1"))

答案 1 :(得分:4)

InputStreamReader需要知道流是ISO 8859-1格式。尝试将此参数添加到InputStreamReader ...

new InputStreamReader( ... , Charset.forName("ISO-8859-1"))

答案 2 :(得分:3)

尝试使用InputStreamReader

的其他构造函数
InputStreamReader(InputStream in, String charsetName) 
Create an InputStreamReader that uses the named charset.