select CHAR_LENGTH('测试abc')会显示7,我希望得到5。

解决方案 »

  1.   

    CHAR_LENGTH('测试abc')
    在UTF8 下结果为5,什么字符集?
      

  2.   

    字符集的原因,你
    set names 'gbk';然后再试一下,就是5了。
      

  3.   

    关于字符集的设置和原理,请参考下贴内容。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  4.   

    character_set latin1
    character_sets latin1 big5 czech euc_kr gb2312 我想用 Navicat 的Query 查询 select CHAR_LENGTH('测试abc')得到5,能直接在Sql语句里面修改得到吗?
      

  5.   

    set names 'utf8';
    再执行
    select CHAR_LENGTH('测试abc');
      

  6.   

    select CHAR_LENGTH('测试abc');得到的是5
      

  7.   

    执行:set names 'utf8';却提示:UnKnown system variable 'names'
      

  8.   

    你的MYSQL什么版本啊?select version();贴出来看一下。