spring 插入mysql数据的中文编码问题

tt-开心 2016-05-19 03:15:56
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.URL=jdbc:mysql://localhost:3306/bookstore?useUnicode=true&characterEncoding=UTF-8
user=root
password=root


<context:property-placeholder location="classpath:jdbc.properties" />
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close" >
<property name="driverClass"><value>${jdbc.driverClass}</value></property>
<property name="jdbcUrl"><value>${jdbc.Url}</value></property>
<property name="user"><value>${user}</value></property>
<property name="password"><value>${password}</value></property>
<property name="maxPoolSize"><value>40</value></property>
<property name="minPoolSize"><value>2</value></property>
<property name="initialPoolSize"><value>2</value></property>
<property name="maxIdleTime"><value>30</value></property>
</bean>


以上的配置信息,我放在jdbc.property中,插入mysql的中文是乱码??
3 | ?? | 40bd001563085fc35165329ea1ff5c5ecbdbbeef | lisi@qq.com。

如果把配置信息放到spring applicationContext.xml中,就没有问题。
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
destroy-method="close"
p:driverClass="com.mysql.jdbc.Driver"

p:jdbcUrl="jdbc:mysql://localhost:3306/bookstore?useUnicode=true&characterEncoding=UTF-8"
p:user="root"
p:password="root"
p:maxPoolSize="40"
p:minPoolSize="2"
p:initialPoolSize="2"
p:maxIdleTime="30" />

大神们,何解?
...全文
871 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
linkagez00 2017-02-23
  • 打赏
  • 举报
回复
&字符转义问题 配置文件 jdbc.URL=jdbc:mysql://localhost:3306/bookstore?useUnicode=true&haracterEncoding=UTF-8 xml需要转义 jdbc.URL=jdbc:mysql://localhost:3306/bookstore?useUnicode=true&characterEncoding=UTF-8
tt-开心 2016-12-28
  • 打赏
  • 举报
回复
关于乱码这个问题,后来没有发生了。 唯一做的就是myeclipse的整个项目属性设置为utf-8。另外myeclipse这个IDE的首选项中的有关jsp java文件的编码属性设置为统一的utf-8。
goquery 2016-12-19
  • 打赏
  • 举报
回复
同问。楼主解决了吗?但是看视频里面的,甚至没有添加?useUnicode=true&characterEncoding=UTF-8 都不会有乱码
tt-开心 2016-05-26
  • 打赏
  • 举报
回复
引用 5 楼 yys79 的回复:
[quote=引用 3 楼 xvshj 的回复:] [quote=引用 1 楼 yys79 的回复:] 编码参数这样设置的:characterEncoding=utf8
我看了好多例子都是utf-8。按照你的改成utf8,也还是同样的问题。[/quote] 那估计是你库的编码问题了,mysql有实例,库,表,字段4个级别的编码可以指定,字段级别的优先级最高,你可以看看你的库表是否使用的是utf8的编码。比如新建库时应该使用utf8-default collation这种编码[/quote]我再看看吧。
loveunittesting 2016-05-23
  • 打赏
  • 举报
回复
引用 3 楼 xvshj 的回复:
[quote=引用 1 楼 yys79 的回复:] 编码参数这样设置的:characterEncoding=utf8
我看了好多例子都是utf-8。按照你的改成utf8,也还是同样的问题。[/quote] 那估计是你库的编码问题了,mysql有实例,库,表,字段4个级别的编码可以指定,字段级别的优先级最高,你可以看看你的库表是否使用的是utf8的编码。比如新建库时应该使用utf8-default collation这种编码
MamyA 2016-05-20
  • 打赏
  • 举报
回复
建议,仅仅是建议。保证mysql插入中文有三个地方需要注意,第一个是客户端写入的时候的字符集,第二个是连接数据库指定的字符集,第三个是数据库服务器的字符集,如果确定统一了这三个字符集没问题,你想插入乱码估计很难哟。
loveunittesting 2016-05-20
  • 打赏
  • 举报
回复
编码参数这样设置的:characterEncoding=utf8
tt-开心 2016-05-20
  • 打赏
  • 举报
回复
引用 1 楼 yys79 的回复:
编码参数这样设置的:characterEncoding=utf8
我看了好多例子都是utf-8。按照你的改成utf8,也还是同样的问题。

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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