在WINDOWS系统下安装的MYSQL 5.0.45。
在字符集方面有几个问题不是很清楚。MYSQL的配置文件MY.INI中有两个配置部分[MYSQL]和[MYSQLD],其中都有default-character-set配置项。
这个两个配置项都是针对什么起作用的?此外,MYSQL的字符集和某一个具体的数据库字符集有什么关系?必须一致,还是可以不一致?
如何配置才可以让中文在任何地方都不是乱码问号呢?准备使用ASP.NET+mysql开发点小东西,一开始就被中文的乱码问题搞的晕晕的。

解决方案 »

  1.   

    配置字符集默认
    在查询之前加
    mysql_set_character_set(&mysql,"gbk");就可以了
      

  2.   

    我跟你说 实际上很简单 修改my.ini 找到[mysql]和[mysqld]的default-character-set=latin 改为default-character-set=gbk 这就相当于修改了mysql服务器和客户端连接通信以及储存数据的方式. 重启mysql服务控制面板里的服务里面重启.然后通过mysql>show variables like '%char%';查看修改后的字符集. 
    下一步就是你程序的处理了.. 如果你只是简单的jsp和servlet交互那么你就直接在servlet的post方法中(假定你form提交方式为post),设定request.setCharacterEncoding("UTF-8");即可取得的数据为UTF-8格式,但是插入数据库存储格式为gbk中文. struts中的话将web.xml加入filter.所有前台页面和后台页面都使用UTF-8编码.好的 祝你好运.
    我虽然讲的是java 但是跟asp.net大同小异.
      

  3.   

    既然是MySQL5,就不需要直接修改my.ini文件
    用C:\Program Files\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe工具吧
    超簡單,而且不會出問題樓主想要在任何地方都沒有亂碼
    只要做兩步
    1. 用MySQLInstanceConfig.exe將數據庫修改為 UTF-8
    2. 在查詢數據之前只要調用一次 set character utf8