请教一个一个字符串长度问题.
我用PHP+MYSQL编程.MYSQL用的字符编码是UTF8.PHP的页面也是UTF8$chr = "个";
echo strlen($str);打印出来的结果是3.UTF听说占用的长度是GB2312的一倍.
所以增长了一倍.再加上一个尾导空间所以长度3如果我要判断$chr的长度是10就是字母汉字或特殊字符.请问应该怎么判断呢?因为字母是一个字节.
我用PHP+MYSQL编程.MYSQL用的字符编码是UTF8.PHP的页面也是UTF8$chr = "个";
echo strlen($str);打印出来的结果是3.UTF听说占用的长度是GB2312的一倍.
所以增长了一倍.再加上一个尾导空间所以长度3如果我要判断$chr的长度是10就是字母汉字或特殊字符.请问应该怎么判断呢?因为字母是一个字节.
解决方案 »
- BeIT.Memcached中多IP的疑惑
- 有人在用drupal6或者drupal7吗?
- 急!如下的数组在smarty中怎样用section循环啊?急!急!跪求高人指点!
- 对Modoer有研究的进来一下~
- apache 日志access.log出现如下信息
- 文本框没有光标
- 暴汗,昨天面试的过程
- 这个网站如何用php实现?
- 请教一个php + mysql 求月平均 求年平均的高效算法
- ModPHP 应用程序框架开源送上,为 CMS 而生,可做 PHP 扩展
- 08年就要过去了,不能随便散分,那就大家讨论下大中型网站开发需要注意的问题吧
- 请教,我不是程序员,不会编程,但有想法,谁能把我的想法/意思转换成程序,谢谢!
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx 例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 110001 001001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。