小编Fer*_*s.o的帖子

与 item Reader 一起使用的正确编码是什么

我正在使用 spring 批处理读取 csv 文件,当我用 Notepad++ 打开这些文件时,我看到使用的编码是encode in ANSI. 现在,当从文件中读取一行时,我注意到所有重音字符都没有正确显示。例如,让我们采取这一行:

Données issues de la reprise des données
Run Code Online (Sandbox Code Playgroud)

它变成了这样的,带有一些特殊字符:

在此处输入图片说明

因此,作为第一个解决方案,我将 Item Reader 的编码设置为,utf-8但问题仍然存在。

  • 我认为通过UTF-8编码我所有的重音字符都会被识别,这不是真的吗?据我所知,UTF-8 是用于处理网页上所有字符的最佳编码,例如?

将我的项目阅读器编码设置为ISO-8859-1

public class TestItemReader extends FlatFileItemReader<TestFileRow> {

    private static final Logger log = LoggerFactory.getLogger(TestItemReader.class);
    public ScelleItemReader(String path) {

        this.setResource( new FileSystemResource(path + "/Test.csv"));
        this.setEncoding("ISO-8859-1");
Run Code Online (Sandbox Code Playgroud)

我看不到这些字符现在显示正确。

  • 作为输出,我应该用utf-8as encoding编写,如果我ISO-8859-1用作编码输入和utf-8输出,这是否正确?

java encoding spring-batch

6
推荐指数
2
解决办法
6186
查看次数

标签 统计

encoding ×1

java ×1

spring-batch ×1