MYSQL的字符串函数基本都是多字节安全的……差不多就是多字节当作单字节数……所以substring也不能正常的数字节先从数据库一表中取出,一个字符串,比如说:
'欧阳震华  18 香港电视剧演员’
截取出来放到下面这张表CREATE TABLE `tb_a` (
  `name` CHAR(10) DEFAULT NULL,
  `age` CHAR(3) DEFAULT NULL,
  `job` CHAR(50) DEFAULT NULL
) ENGINE=INNODB DEFAULT CHARSET=gbk

解决方案 »

  1.   

    暂时我有一个办法
    unhex(hex('中文字符abc'))等出了问题再来问...哈哈
      

  2.   

    INSERT INTO tb_a
    SELECT SUBSTRING_INDEX('欧阳震华 18 香港电视剧演员',' ',1),
           SUBSTRING_INDEX(SUBSTRING_INDEX('asdfa 45 yt',' ',2),' ',-1),
           SUBSTRING_INDEX('欧阳震华 18 香港电视剧演员',' ',-1) 
    FROM tablename;
    #****************************************#
    MySQL技术及运维自动化网:www.mysqlops.com新浪微博账号:http://weibo.com/mysqlops
    #****************************************#