首页 > 解决方案 > java spring和hibernate如何将日文字符保存到Mysql中?

问题描述

我有几个文件原始数据保存为.DAT,这个文件有日文字符。我想通过 java spring boot 将日文字符保存到数据库中。我在用 :

设置数据库:

url: jdbc:mariadb://localhost:3306/msf?useUnicode=yes&characterEncoding=UTF-8

读取文件并保存到数据库中:

StringBuilder sb = new StringBuilder();
    File file = ResourceUtils.getFile("classpath:sources.data/DATADEMO");

    if (file.exists()){
        try (BufferedReader br = new BufferedReader(new FileReader(file.getPath()))) {
            String line;
            while ((line = br.readLine()) != null) {
                String[] str = line.split(",");
                MsPaymentSake msPaymentSake = new MsPaymentSake();
                msPaymentSake.setStoreCode(str[0]);
                msPaymentSake.setType(str[1]);
                msPaymentSake.setClassification(str[2]);
                msPaymentSake.setCapacity(str[3]);
                msPaymentSake.setStatsDate(str[4]);
                msPaymentSake.setPartner(str[5].trim());
                msPaymentSake.setProductName(str[6].trim());
                msPaymentSake.setFrequencyAll(str[7]);
                msPaymentSake.setQuantity(str[8]);
                msPaymentSake.setPrice(str[9]);
                msPaymentSake.setTotalPrice(str[10]);
                msPaymentSake.setFrequency(str[11]);
                msPaymentSake.setCreated(LocalDateTime.now());
                paymentSakeRepository.save(msPaymentSake);
            }
        } catch (IOException e) {
            System.err.format("IOException: %s%n", e);
        }
        file.delete();
    } else{
        System.out.println("can't find file!");
    }

标签: javamysqlspring-boot

解决方案


在您的 application.properties 中使用这些:

spring.datasource.hikari.data-source-properties.useUnicode=true
spring.datasource.hikari.data-source-properties.characterEncoding=UTF-8

推荐阅读