mysql 多国文字处理问题update user set name='Винюков' where id=9---------明确的说是俄文           (以前处理过希伯来文字)
执行后这个sql发现
select name from user where id=9
| name            |
+----------------+
| Ð’инюков |
+----------------+
1 row in set观察该库 表 以及字段 都是utf-8问如何处理这个文字, 能否存入'Винюков  取出也应该'Винюков?

解决方案 »

  1.   

    不是数据库的问题,而是mysql在命令行下乱码(windows下)了。你可以用程序或者其他GUI工具看一下,应该没问题。В=V
    и=i
    н=n
    ю=u
    к=k
    о=o
    в=v
      

  2.   

    你的客户端也必须设置为 UTF8, 也就是说你用的客户端工具也必须支持UTF8.WINDOWS中的命令行工具是不是支持UTF8的。
      

  3.   

    相同的机器配置 同样的mysql 
    另外一台mysql, select name from user where id=9
    | name |
    Винюков
    是ok 观察2台机器都是
    mysql> show variables like 'character_set_%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | latin1                     |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set2个版本都是5.0.45
    就是安装的 5.0.45 的文件不同。是否是数据库的问题??
      

  4.   

    用了set character_set_client=utf8;发现还是不可以的恶
      

  5.   

    楼主,从DB到Connection到显示这三个层面字符编码要一致,你的DB用的utf8,Connection字符编码是否是utf8,再有显示的时候,显示工具所用的字符集可是utf8?
      

  6.   

    在ubuntu下试一下,显示应该没什么问题的。显示和存储是两回事情。
      

  7.   

    反反复复研究不是db 原因
    也不是代码原因 (一台test2,  还有stage server ,最后是online, 前面2台都是ok的 , 就是online发现不可以的)
    最后这个问题发现是在update set name='dsdssd'
    的时候。
    有人在command命令行下执行 ,这个是不支持utf-8,  后来我放到navcat(这个工具目前发现功能好强)里执行是ok ,jsp显示也是正常的恶。最后就没哟问题  (放其他工具里发现有问题)