strlen()与mb_strlen()的区别
2024-08-26 08:45:37
1,strlen()是php的内置函数,可以在php中直接调用;mb_strlen()是php的扩展,需要配置php.ini,以开启mb_strlen()扩展。在php.ini中加载了php_mbstring.dll,即确保“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。
2,strlen()无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍(在 UTF-8编码下,一个汉字占3个字节)。
3,采用mb_strlen()可以较好地解决这个问题。mb_strlen()的用法和strlen类似,只不过它有第二个可选参数用于指定字符编码。例如得到UTF-8的字符串str长度,可以用mb_strlen(str,'UTF-8')。如果省略第二个参数,则会使用PHP的内部编码。内部编码可以通过 mb_internal_encoding()函数得到。
最新文章
- MarkdownPad2 表格不显示处理
- 我的Android最佳实践之—— 常用的Intent.Action(转)
- Styles and Themes
- BZOJ3397: [Usaco2009 Feb]Surround the Islands 环岛篱笆
- substance的使用示例(转)
- Apriori算法-java
- python_如何通过twisted实现数据库异步插入?
- Docker容器技术
- hive发杂数据结构的使用,struct,array,map
- css--样式表的引入方法
- js中字节B转化成KB,MB,GB
- Docker最简教程
- 0x800f0845 更新1803报错
- Maven项目之间的关系
- FFmpeg简易播放器的实现-最简版
- linux系统编程之进程(六):父进程查询子进程的退出,wait,waitpid
- ApplicationEventMulticaster not initialized - call 'refresh' before
- LUA表与函数的深入理解
- viewport Meta Tag
- Oracle创建自增序列
热门文章
- WCF生成客户端代理对象的两种方法的解释
- PowerDesigner :
- csv中文乱码
- hive 报错 java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
- Devexpress VCL Build v2013 vol 13.2.4 发布
- Django入门指南-第6章:第一个视图函数(完结)
- 一文读懂:超详细正态分布方差等于o的推导
- UVaLive 3353 Optimal Bus Route Design (最小费用流)
- Java编程模板
- 高翔《视觉SLAM十四讲》从理论到实践