你能帮忙解决这个问题吗。
我正在尝试将西里尔文符号从jsp插入mysql表。看来,我什么都试过了。当我在输入表单的“post”上更改了方法“get”时,实际上发生了这种情况。
我在netbeans中创建了db连接池,下面是我的url:
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更新中出错时,我可以在错误消息中看到html试图发送西里尔字母的вара', 但事实上
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
如果你能帮我找到它在什么时候发生了什么变化,我将不胜感激。我如何调试它(例如服务器日志)?顺便说一下,我用的是网虫和玻璃鱼。
1条答案
按热度按时间w3nuxt5m1#
пппп
应该是pe pe pe pe
? 嗯,那是莫吉巴克。用utf-8字符查看故障;我所看到的并不是我为一系列可能有助于导致它的事情而储存的东西。问号有不同的原因,这里也讨论了。
使用post时可能需要:
看看你能不能得到文本的十六进制编码。