在保留一些带有特殊字符的字符串时遇到问题,例如:Livaković。在数据库中将其另存为Livakovi?。我的Jdbc字符串如下:
jdbc:mysql://localhost:3306/MyDb?autoReconnect=true&useUnicode=true&connectionCollation=utf8_general_ci&characterSetResults=utf8&useSSL=false
我的数据库字符集如下:-
Mysql版本是5.6。
我已经在jdbc连接字符串中使用useUnicode = true和characterSetResults = utf8,但是在DB中仍然无法正确获取特殊字符。
下面是show create-
的结果CREATE TABLE `table_name` (
`id` varchar(64) NOT NULL,
`name` varchar(64) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
有人可以建议吗?
谢谢
答案 0 :(得分:0)
这是要检查的几件事之一。
尤其是参见question marks
SHOW CREATE TABLE
。)更多Java / JDBC注释:
将?useUnicode=yes&characterEncoding=UTF-8
添加到JDBC URL(您当前拥有characterSetResults
)
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=UTF-8" %>
compileJava.options.encoding = 'UTF-8'
<form method="post" action="/your/url/" accept-charset="UTF-8">