如何在£符号之前修复特殊字符 - £399 - 弹簧启动json



我使用Angular-spring启动应用程序创建数据。在从表单写入文件时,我使用以下UTF_8编码//java 11

FileWriter = new FileWriter(Paths.get(activityFile.getRef()).toFile(), StandardCharsets.UTF_8);

文件在记事本中看起来很正常-没有特殊字符等

但我使用该文件加载到DB,我看到问题。

//java 8

try (FileReader reader = new FileReader(queFile)){

List<QuackDTO> qDTOs = objectMapper.readValue(reader, new TypeReference<List<QuackDTO>>(){});
}

如果我在其中一个属性中看到值,它将在£之前添加 -例如£100

因为我想要一个对象列表,所以我没有使用像

这样的字符串

文件。readString(路径,StandardCharsets.UTF_8);

如何解决我的编码问题?

我在哪里看到问题?

文件→VOs ->每个VO ->已转换为实体类型。我已经看到属性有不需要的字符Â

编辑:

DB是mysql,但是在创建实体对象

之前我看到了特殊字符SELECT default_character_set_name FROM information_schema。SCHEMATA WHERE schema_name = "mysch";

utf8mb4

我更新代码使用- InputStreamReader与UTF-8编码

try (Reader reader = new InputStreamReader(new FileInputStream(questionsFile), "UTF-8")){
List<QuackDTO> qDTOs = objectMapper.readValue(reader, new TypeReference<List<QuackDTO>>(){});
}

相关内容

  • 没有找到相关文章

最新更新