首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >尝试将西里尔文符号插入到mysql表中

尝试将西里尔文符号插入到mysql表中
EN

Stack Overflow用户
提问于 2018-07-24 00:44:39
回答 1查看 71关注 0票数 0

你能帮我解决这个问题吗?

我正在尝试将西里尔符号从jsp插入到mysql表中。看起来我什么都试过了。实际上,当我在输入表单的“POST”上更改了“GET”方法时,就会发生这种情况。

我已经在NetBeans中创建了DB连接池,这是我的网址:

代码语言:javascript
复制
jdbc:mysql://localhost:3306/DBSite?useUnicode=true;characterEncoding=UTF-8;zeroDateTimeBehavior=convertToNull [DBSite_user on Default schema]

我已经添加了过滤器:

代码语言:javascript
复制
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

     request.setCharacterEncoding("utf-8");
     response.setCharacterEncoding("utf-8");
     chain.doFilter(request, response);
}

它在那个?上更改了这个符号。所以,它起了一点作用。

我已经添加了

代码语言:javascript
复制
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

如果我通过MySQL工作台将西里尔文文本添加到MySQL -一切正常。

当我在SQL Update中犯了错误(故意)时,我可以在错误消息中看到HTML试图发送西里尔字母'вара',但实际上mysql插入了‘?’

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

发布于 2018-07-24 06:09:35

пппп应该是pe pe pe pe吗?好吧,那就是mojibake。有关可能导致该问题的原因的列表,请参阅Trouble with UTF-8 characters; what I see is not what I stored

问号有不同的原因,也在那里讨论过。

在使用POST时可能需要这样做:

代码语言:javascript
复制
<form method="post" action="/your/url/" accept-charset="UTF-8">

看看你能不能得到文本的十六进制编码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51483661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档