如何将₹(特殊字符)插入数据库
Posted
技术标签:
【中文标题】如何将₹(特殊字符)插入数据库【英文标题】:How to insert ₹(Special characters) into Database 【发布时间】:2021-03-27 04:26:40 【问题描述】:目前我尝试通过修改我的属性文件来插入那些特殊字符。但是它作为问号而不是 ₹ 符号插入,请在下面找到更改。
spring.datasource.url=jdbc:mysql://localhost:3306/dbName?createDatabaseIfNotExist=true&autoReconnect=true&useSSL=false&useUnicode=true&character_set_server=utf8mb4
我的实体列定义
@Column(name = "question", columnDefinition = "TEXT")
private String question;
我试过了
1.将列定义更改为“nvarchar”我得到了休眠错误。
2.在mysql中将列定义改为ALTER TABLE table CHANGE column column VARCHAR(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
引用,更改mysql表定义enter link description here
如果有任何修改或错误请帮助我。
【问题讨论】:
看@Nationalized
注解,可能对你的问题有帮助Annotation Type Nationalized
嘿,非常感谢您添加@nationalized 后它正在工作。请您将其添加为答案,以便我可以接受答案。
【参考方案1】:
将字符编码改为utf8_general_ci,
ALTER TABLE test_tb MODIFY COLUMN col VARCHAR(255)
CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
然后,
insert into test_tb values("₹");
【讨论】:
感谢您的回复。当我尝试使用 Column TEXT 从弹簧靴插入时,它正在转换为?我已更改为 utf8_general_ci NOT NULL;在 mysql 但仍然是同样的问题【参考方案2】:看@Nationalized
注解,可能对你的问题有帮助Annotation Type Nationalized
@Nationalized
@Column(name = "question", columnDefinition = "TEXT")
private String question;
【讨论】:
是的,它在需要执行 ALTER TABLE test_tb MODIFY COLUMN col text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL 之前工作;否则会抛出 getNstring() 错误。谢谢。以上是关于如何将₹(特殊字符)插入数据库的主要内容,如果未能解决你的问题,请参考以下文章
在 python 中,将数据插入 SQL Server 时如何转义特殊字符?
源数据和目标数据不匹配。我们如何插入特殊字符,如 5±3°C 和 -