Я хочу сохранить арабские символы в MySQL, в моем файле CSV у меня есть как арабские, так и английские символы.
Когда я показываю консольный журнал, я вижу мою строку с арабскими символами, но в MySQL я вижу символы "????"
Оба, если мой CSV-файл, база данных и таблица в кодировке UTF-8
Я также добавил это в application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/contacts?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=
Я использую Spring Batch версии 4, с простым CSV для MySQL
что я должен добавить?
Дополнительный код:
@Bean
public FlatFileItemReader<Csv> fileReader(@Value("${input}") Resource in) throws Exception {
return new FlatFileItemReaderBuilder<Csv>()
.name("file-reader")
.resource(in)
.targetType(Csv.class)
.linesToSkip(1)
.delimited().delimiter(";").names(new String[]{"Name","Email","UID","Username","Phone","Location","Birthday","Gender"})
.build();
}
@Bean
public JdbcBatchItemWriter<Contact> jdbcWriter(DataSource ds) {
return new JdbcBatchItemWriterBuilder<Contact>()
.dataSource(ds)
.sql("INSERT INTO contact (UID, name, username, gender, phone, email, birthday, location, country_id, city_id, state_id) VALUES (:uid, :name, :username, :gender, :phone, :email, :birthday, :location, :countryId, :cityId, :stateId)")
.beanMapped()
.build();
}