Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103727969
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Mysql/postgreSQL

2008-04-10 15:59:52

   
       作者:樊冠群
    (转贴请不要删除作者,尊重作者的劳动,谢谢!)
     在经过几天玩命的百度和不停的实验后终于将Mysql 5.0.22中文问题解决了。网上文章要不就是长篇大论不切重点,要不就是大讲Windows而Linux则一句带过。下面我就以步骤带讲解的方式来谈一谈自己的心得:
     一,环境:
     //其实是其他环境的也是一样可以解决的
     红旗Linux5.0 , java1.5.0-beta2, mysql 5.0.22, hibernate2.1
     二,表现症状
     1,程序中的数据存入数据库时中文变成了问号。
     2,从数据库读出数据时中文依然是一堆问好。
     三,解决步骤
     如果(/etc目录中存在my.cnf){
     打开my.cnf文件,找到[mysqld]字样。
     //解释:default-character-set=gb2312是设置数据库的默认字符集
     //等号后面也可以是别的字符击名字如utf-8
     //如此文件中不写这行,则数据库的默认字符集为litan
     //引起中文乱码的原因就是这个
     在其下面加入一行default-character-set=gb2312
     保存my.cnf文件
     }否则如果(/etc目录中不存在my.cnf){
     //解释:
     //mysql的安装目录就是如果你是用rpm安装的话就在/usr/share/mysql
     //如果你的是解压缩免安装的那就在解压缩后的文件夹里
     在mysql的安装目录中找到名为my-small.cnf,my-medium.cnf
     ,my-large.cnf等类似命名的文件安自己需求任取一个;
     //解释:我只是个人用mysql只要一个小型化的默认配置就可以了
     我取my-small.cnf
     打开my-small.cnf文件,找到[mysqld]字样。
     在其下面加入一行default-character-set=gb2312
     另存为my.cnf文件
     将my.cnf复制到/etc目录中
     }
     重启计算机,(我想重启mysql也可以吧我没实验过大家可以试一试)。
    比如你程序中用到的数据库为testdb,那就要删除testdb并重建testdb及其中的所有表。
    到此mysql就可以支持中文了,而不必在去修改代码写法或其他的设置了。要注意的是一定要删除test库并重建test及其中的所有表,要不然还是会有乱码
阅读(416) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~