你能帮我解决这个问题吗?
我正在尝试将西里尔符号从jsp插入到mysql表中。看起来我什么都试过了。实际上,当我在输入表单的“POST”上更改了“GET”方法时,就会发生这种情况。
我已经在NetBeans中创建了DB连接池,这是我的网址:
jdbc:mysql://localhost:3306/DBSite?useUnicode=true;characterEncoding=UTF-8;zeroDateTimeBehavior=convertToNull [DBSite_user on Default schema]
我已经添加了过滤器:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
}
它在那个?上更改了这个符号。所以,它起了一点作用。
我已经添加了
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
如果我通过MySQL工作台将西里尔文文本添加到MySQL -一切正常。
当我在SQL Update中犯了错误(故意)时,我可以在错误消息中看到HTML试图发送西里尔字母'вара',但实际上mysql插入了‘?’
javax.servlet.ServletException:
insert into Comments(commentп, date_creation, id_title)
values ('вара',STR_TO_DATE('23-07-2018 17:52:07', '%d-%m-%Y %H:%i:%s'), 31);
: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, date_creation, id_title)
values ('????',STR_TO_DATE('23-07-2018 17:52:07' at line 1
root cause
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, date_creation, id_title)
values ('????',STR_TO_DATE('23-07-2018 17:52:07' at line 1
如果你能帮我找出它在什么时候被修改了,我将不胜感激。我如何调试它(例如,服务器日志)?顺便说一下,我使用的是NetBeans和GlassFish。
https://stackoverflow.com/questions/51483661
复制相似问题