gpt4 book ai didi

java - 数据库不接受西里尔字符

转载 作者:行者123 更新时间:2023-11-29 17:07:32 25 4
gpt4 key购买 nike

我在数据库中遇到西里尔字符问题,并使用它 java spring。

来自 chrome 浏览器图像: enter image description here

我用以下方式创建数据库:

create database dbname
character set utf8
collate utf8_general_ci;

数据库表示例:(自动创建):

@Entity(name = "words")
public class Words {

@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;

@Column(name = "word")
private String word;

public long getId() {
return id;
}

public void setId(long id) {
this.id = id;
}

public String getWord() {
return word;
}

public void setWord(String word) {
this.word = word;
}
}

保存实体方式:

@Repository
public interface WordRepository extends JpaRepository<Word, Long> {
}

+

@Service 
public class WordService{

@Autovired
private WordRepository wordRepository;

public saveAll(List<Word> wordList){
wordRepository.saveAll(wordList);
}
}

应用程序属性:

#Database settings
spring.datasource.url=jdbc:mysql://localhost:3306/dbname?useUnicode=yes&amp;characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update

spring.datasource.tomcat.connection-properties=useUnicode=true;characterEncoding=utf-8;
spring.datasource.sql-script-encoding=UTF-8

但是,结果,当我在数据库中保存西里尔字符时,所有显示为“?”。

我还必须做什么才能解决这个问题?

最佳答案

从字符串中删除amp;

spring.datasource.url=jdbc:mysql://localhost:3306/dbname?useUnicode=yes&amp;characterEncoding=utf-8

在 application.properties 文件中。

关于java - 数据库不接受西里尔字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52009112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com