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

Java:如何将Java.lang.String转换为ISO 8859-1格式,java,encoding,iso,Java,Encoding,Iso,在我的应用程序中,我通过CSVParser解析ISO 8859-1格式的数据。但是,当我将解析数据存储到字符串数组中,然后与数据库中相应的ISO 8859-1格式化数据交叉检查时,字符串数组不支持某些字符映射(例如:µ编码为?)。这是我的解析代码: CSVReader reader; List<String[]> list = new ArrayList<String[]>(); try { reader = new CSVReader(n

在我的应用程序中,我通过CSVParser解析ISO 8859-1格式的数据。但是,当我将解析数据存储到字符串数组中,然后与数据库中相应的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) {
}
CSVReader阅读器;
列表=新的ArrayList();
试一试{
reader=new CSVReader(new InputStreamReader(new FileInputStream(new File(directory))),Configuration.CSV\u separator;
list=reader.readAll();
for(字符串[]单股票:列表){
}

字符串[]singleStock,用于保存已解析的数据。

尝试使用其他构造函数

您需要在创建时指定

例如:

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

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

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