免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1062 | 回复: 0
打印 上一主题 下一主题

Linux下mysql中文编码问题的解决 [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之北控
日期:2022-03-04 22:35:50
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-05 13:14 |只看该作者 |倒序浏览

作者: Buyto  出自: http://www.linuxdiyf.com
做为一名中国的程序员最郁闷的可能就是要面对繁琐的中文编码问题了。
这个问题困扰我好几天,终于在同学的帮助下给解决了。
1.Linux下的系统编码需要设置一下,修改/etc/sysconfig/i18n的内容为:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN"
SUPPORTED="zh_HK.UTF-8:zh_HK:zh:zh_CN.GB18030:zh_CN:zh:zh_TW.Big5:zh_TW:zh"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
然后需要将语言设置写入系统环境变量中,操作如下:
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.GBK"
2.这一步是将mysql的默认字符集换成utf8,后面其实把数据库的字符集又改回latin1,所以这步可能并没有作用。
修改/etc/my.cnf,添加 default-character-set= utf8
然后重启mysql,在shell下输入 /etc/rc.d/init.d/mysql start
3.针对需要输入中文字符的数据库配置
ALTER DATABASE `ciscrawler` DEFAULT CHARACTER SET latin1;
ALTER TABLE `http_4` DEFAULT CHARACTER SET latin1;
ALTER TABLE `http_4` CHANGE `PURL_TITLE` `PURL_TITLE` VARCHAR( 50 ) CHARACTER SET latin1;
程序从数据库写入和读出时候都使用iso-8859-1编码
String title = new String(rs.getString("PURL_TITLE").getBytes("iso-8859-1"));

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_517848.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP