日期:2014-05-17  浏览次数:20407 次

mysql 截取字符串
mysql 截取字符串截取4位字符 utf-8编码
  现在截取字符串效果都一样 就是截取几位 不管中英文的,我的达到的效果是
  比方把中文字符放进去能截取了3位,那么在截取英文的时候能不能自动识别为9位呢?  
如果你是select left('发觉了对方',3) 这样打酱油党话,那么不要过来浪费时间
 

------解决方案--------------------
中文也好西文也好一个字符就是一个字符
为什么要中文算1个西文算3个?
------解决方案--------------------
utf8变长, 你按字节截是什么目的呢, 是Buffer长度受限的情况下又想保证中文单字不被截断?

那可以用mb_substr逐个字符的拼接到一个空字符串上, 并每次用strlen判断字节个数是否超长.
------解决方案--------------------
先对要截取的字符串进行判断,然后mb_substr。
------解决方案--------------------
自己写个函数就是喷到英文就当三个字符!~~这跟一个中文是两个字符的做法没什么差别!~~