设置统一的字符编码能解决乱码问题,
我是用ACCESS+MYSQL+ODBC做开发的
在大陆一家公司(服务器和客户机都是简体中文系统)使用UTF8字符编码时其中文就会乱码,改用GBK就正常了,
难道是UTF8不支持简中?会不会也一样不支持繁中呢?如果我想统一大陆/香港/美国的公司的MYSQL资料,做一个master,slave数据流向工程的话我只有一个slave服务器,意思是只能有一个MYSQL目录,把大陆/香港/美国各地的数据汇合一起(有独立的数据库名比如SZDB,HKDB,USDB)
因为每一个地区的都要设置不同的编码,如何统一啊?有朋友遇到过这种问题不?

解决方案 »

  1.   

    UTF8编码的中文本来就是乱码的。
      

  2.   

    TO:帐号:yueliangdao0608(骑着上帝看戏)
    不是吧,UTF8是国际语言,我见别人的文章上说只要统一UTF8编码,server,connection,client,result,db都用UTF8,中文就不乱
      

  3.   

    问一下大家,我深圳的一台服务器(简体中文)MYSQL数据库中的
    character_set_client
    character_set_connection
    character_set_database
    character_set_results
    character_set_server
    character_set_system
    全是设置为utf8了,我试了以下的客户端连接
    1>在ODBC的initial statement设置SET NAMES UTF8后,用ACCESS链接一MYSQL表直接打开,手动写入几个中文,提示:
     Data too long for column 'payee' at row 1,(其实这字段是足够长的)
    不明白为什么用utf8编码的客户端写入utf8的库中还会出现这样的问题
    数据传送应该是这样client utf8->connection:utf8->server utf8->results utf8
    2>发现用UTF8不行后我把SET NAMES UTF8 改成 SET NAMES GBK,好,这下没事了,不提示了,而且在ACCESS中显示的中文是没问题的,但用mysql command line client/mysql query browser查看是却是乱码,
    client GBK->connection:utf8->server utf8->results utf8,乱码在情理这中
    3>把SET NAMES GBK去掉,什么也不写,结果一样。(简体中文系统应该默认是以GBK编码发送给MYSQL的)
    client GBK->connection:utf8->server utf8->results utf8,乱码在情理这中第一点怎么看,能有兄弟帮一下不,有什么解决办法
      

  4.   

    我也碰到同样问题,反正用UTF8不好使。
      

  5.   

    我说的UTF8是乱码的,只得是在库里保存的是用UTF8变码过的,你出来后必须用UTF8编码才能读出正确的结果。
      

  6.   

    第2种方法是没错的
    至于mysql   command   line   client/mysql   query   browser查看是乱码, 是因为你没设对2者的client环境
      

  7.   

    Data   too   long   for   column   'payee'   at   row   1,(其实这字段是足够长的) 你的这个字段的编码还有整个 表的编码是什么 ?一定要跟页面的编码一致
      

  8.   

    都統一沿用UTF-8(網頁編碼,MYSQL編碼要一致)
      

  9.   

    trainee 
    第2种方法是没错的 
    至于mysql command line client/mysql query browser查看是乱码,是因为你没设对2者的client环境 
    要去怎么设置呢?我是在服务器(简体中文服务器,mysql是英文版的)上运行mysql command line client/mysql query browser查看出来的结果,
      

  10.   

    理解后编码的一致性后修正一下以前的信息:
    现在的情况是这样子的,用access2003链接下来的表中中文字不会乱,用mysql command client line/mysql query browser查看中文是乱码,
    mysql数据中所有的编码(show varables like 'character_set_%'命令)信息:
    character_set_client  |utf8
    character_set_connection  |utf8
    character_set_database  |utf8
    character_set_filesystem |binary
    character_set_results  |utf8
    character_set_server  |utf8
    character_set_system  |utf8 也就是数据库中所有的编码都是UTF8
    但我的mysql odbc 3.51中没有设置 SET NAMES UTF8,或set names GBK(可能是这个影响了)
    没设置留空了,请问一下是不是这个client端没设置统一的编码造成的?我试着现在补上SET NAMES UTF8,但变成不能插入中文了,要设置成set names GBK才可以,用了set name GBK后而且用mysql command client line/mysql query browser查看刚插入的中文也不乱码了,access中的刚插入的中文也不乱了,但以前的中文数据却乱了,痛苦哦,,,,
    不过这个也不是问题,可以导出原来的资料再利用GBK编码导进去,我也尝试了,成功没问题,
    之后我把这个没问题的MYSQL中的一个库backup出来传去香港一个服务器上(繁体中文系统,mysql版本一样都是5.19 NT)并导入mysql中,准备做master/slave,但问题来了,在香港服务器上的那个没问题的库却出现了乱码(mysql command client line/mysql query browser或access2003
    查看都乱),香港那服务器上的mysql设置和大陆这边的一样,所有的编码都是UTF8唯独mysql odbc 3.51没设置set names之类的,但我不觉得是ODBC没设置的原因,用mysql command client line/mysql query browser根本就不用ODBC.大家有好的看法吗
      

  11.   

    我的贴子是谁看谁得益,但答贴的痛苦,呵呵,我现在问的问题都 "mysql使用/乱码/多个master->一个slave/一台电脑能否安装多个mysql"  一条龙了,哈,我自己顶贴的比回贴的还多
      

  12.   

    老板以后还有更麻烦的事情呢,他XX的  1>多个master-> 一个slave, 2>一台电脑能否安装多个mysql, 3>越南文/韩文的编码 4>集团版系统的开发应用(我的不是web程序),