向mysql中插入中文问题

bhwhy 2007-04-29 02:40:17
数据库连接:
String con="jdbc:mysql://localhost/addressbook?useUnicode=true&characterEncoding=UTF-8";
我把mysql的my.ini文件中的default-character-set地方改成了
default-character-set=utf8
然后重起mysql
但我再向数据库中插入中文时
pStmt.executeUpdate();就通不过了。
这是什莫原因呢。

...全文
643 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhjb1025 2007-04-29
  • 打赏
  • 举报
回复
mysql 建表的时候 跟上字符集 DEFAULT CHARSET=utf8
bhwhy 2007-04-29
  • 打赏
  • 举报
回复
多谢各位。
刚重装了。呵呵,可以插入中文了。
显示也没问题了。
感觉挺麻烦的。不爽!
什么都不能 2007-04-29
  • 打赏
  • 举报
回复
[mysqld]
character-set-server=utf8
Kipen 2007-04-29
  • 打赏
  • 举报
回复
default-character-set在my.ini文件中有两处的
dodozhu 2007-04-29
  • 打赏
  • 举报
回复
原因:
1.创建数据库时没有指定默认的编码方式,导致数据库使用了MySql的默认字符集latin1。
2.Client端字符集为latin1.
3.进行jdbc链接时使用了不匹配的字符集。
解决办法:
1.创建数据库时将数据库的缺省字符集指定为utf8。sql语句没查到...
2.修改Client默认字符集为utft。windows下在mysql安装目录下找到my.ini,将里面的default-character-set=latin1 改为default-character-set=UTF8,然后重起mysql服务即可将数据库默认字符集改为utf8.此时应该在mysql命令行用\s命令检查一下看是否改好了。
3.修改jdbc的链接,将原来的
jdbc:mysql://localhost:3306/YourDb
改为
jdbc:mysql://localhost:3306/YourDb?useUnicode=true&characterEncoding=UTF-8

做完以上工作后,插入到mysql的中文应该不会再是乱码了.
jianpingrun 2007-04-29
  • 打赏
  • 举报
回复
把你的中文用这句话试试
java.net.URLEncoder.encode("中文",UTF-8")
应该就可以了
bhwhy 2007-04-29
  • 打赏
  • 举报
回复
我也遇到过这种情况
安装mysql时用的latin字符集
后来想改utf-8,没成功(没继续研究)
只有重装了,安装时选utf-8编码
-----------------------------
只能重装吗。我这样直接改my.ini文件不行吗。
jlusdy 2007-04-29
  • 打赏
  • 举报
回复
我也遇到过这种情况
安装mysql时用的latin字符集
后来想改utf-8,没成功(没继续研究)
只有重装了,安装时选utf-8编码

bhwhy 2007-04-29
  • 打赏
  • 举报
回复
这是我的insertContent.jsp文件:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ include file="taglibs.jsp" %>
<app:validateSession/>
<html:errors/>
<html:form action="insert.do" focus="title">
<center>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right">
<bean:message key="prompt.name"/>
</td>
<td align="left">
<html:text property="name" size="25" maxlength="25"/>
</td>
</tr>
<tr>
<td align="right">
<bean:message key="prompt.phone"/>
</td>
<td align="left">
<html:text property="phone" size="25" maxlength="10"/>
</td>
</tr>
<tr>
<td align="right">
<bean:message key="prompt.address"/>
</td>
<td align="left">
<html:text property="address" size="25" maxlength="30"/>
</td>
</tr>
<tr>
<td align="right">
<html:submit property="submit">
<bean:message key="button.insert"/>
</html:submit>
</td>
<td align="left">
<html:reset property="reset">
<bean:message key="button.reset"/>
</html:reset>
</td>
</tr>

</table>
</center>
</html:form>
<html:link forward="mainMenu">
<bean:message key="goto.mainMenu"/>
</html:link>
如果我的文件里没有<head>怎莫办呢。因为我用的<%@ include file=".....jsp" %>把这个包含进去的
fengfangfang 2007-04-29
  • 打赏
  • 举报
回复
<%@ page contentType="text/html; charset=utf-8" language="java" %>
...............................
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...............................
fengfangfang 2007-04-29
  • 打赏
  • 举报
回复
你的jsp页面也是utf-8编码吗?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧