liferay调用mysql插入中文

liferay插入中文失败

事由:公司的liferay项目一直无法实现插入中文。

1、         首先测试字符集

mysql>status;    //显示服务器四种字符集,从上到下它包括服务器字符集,数据库字符集,客户端字符集,链接字符集

如果不是,可以通过/etc/my.cnf配置文件进行修改

client】用于定义客户端字符集和链接字符集

 

mysqld】控制着服务器字符集和数据库字符集

下面的collation-server是校验字符集

Mysql>show character set;  //查看校验字符集

2、         查看客户数据库字符集

首先use该数据库,然后“character_set”命令查看

发现使用的不全是utf8,问题找到。

mysql> set character_set_database=utf8;  //修改字符集

或执行
  mysql>use mydb
  mysql>alter database mydb character set utf-8;  //
修改客户字符集

然后查看,已经修改完毕

3、         分析问题

但此时测试还是不行,因为我们的数据库是在西文的编码格式下创建的表,这时虽然编码正确了,但是字段值的编码仍然延续西文编码方式。结论:我们导出数据,修改编码再导入。

4、导出导入

Mysqldump liferay>/root/liferay.sql

Vi /root/liferay.sql

发现近百张表使用西文字符,我们利用vi批量修改。

Mysql>create database liferaytest character set 'utf8';    //创建测试数据库。

#Mysql  liferaytest  </root/liferay.sql  //导入数据

4、         测试:

我们更新liferaytest中一个表,插入中文,奇迹发生了生效了。

 

6.实施计划

Mysql >drop database liferaytest;

#mysql liferay </root/liferay.sql   //导入数据

页面测试,一切ok

 

感悟:对于数据编码一定要熟悉,首先它的四种编码一定要一致,其次操系统要支持utf8,其次putty支持utf8,再次保证链接语句支持utf8,这些充分了解的基础上,结论也就容易得到了。

                                         ---saisai 20120822

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值