分享好友 教程首页 教程搜索 频道列表

如何解决substr php 乱码问题

2022-08-01 16:101770
+关注28
核心提示:php substr函数出现乱码是因为中文UTF-8编码,每个汉字占3字节,而GB2312占2字节,...

问题描述:

在日常的开发中,常常会用到字符串截取的功能,通常使用的函数是substr().下面是示例:

<?php
$rest = substr ("abcdef", 1); // returns "bcdef"
$rest = substr ("abcdef", 1, 3); // returns "bcd"
?>


使用substr函数时遇到中文字符容易出现乱码。这是因为中文UTF-8编码,每个汉字占3字节,而GB2312占2字节,英文占1字节,截取位数不准确,substr()硬生生地将一个中文字符“锯”成两半,造成断开的字符会把其后的拉过来一起做一个字,所以出现了PHP substr中文乱码。


解决方法如下:

可以使用mb_substr()函数。下面是示例:

<?php echo mb_substr("php中文字符encode",0,4,"utf-8");?>


本文标签: #函数 #截取 #字符串
整理员:小黑
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
生成海报
您可能在找更多

在DESTOON系统模板开发中imgurl函数的用法说明

    imgurl函数是为了让在前端模板中没有标题图的信息默认一张系统自带的nopic图,总结:​imgurl函数就是为了页面好看,自动补充而用

小黑 随手记2024-03-10

在小模板tag/list-sell.htm中{if $_userid}判断不起作用的解决方案

    在小模板tag/list-sell.htm中{if $_userid}判断不起作用的解决方案有两种,2选一都能实现,两种方案,1为网友提供,2为DESTOON官方提供。

小黑 标签调用2023-06-07

关于9.0下不支持{$db->pre} 的写法解决方案

    在9.0程序里,destoon已经取消了$db-pre 的函数写法,解决方案如下:(这个一般是在自定义函数中失效)1、在9.0下已经不支持{$db-pre}了,你可以在根目录common.inc.php里的96行另起一行加上$db-pre=$CFG['tb_pre&

小黑 随手记2023-06-06

destoon8.0及以上版本内容页批量调用所有自定义字段的解决方案

    destoon在内容页批量调用所有自定义字段的方案:以前是在内容模板中一个个的调用,确实有点繁琐,下面的方法就是批量循环出当前频道所有不为空的自定义字段内容。我们在自定义函数api/extend.func.php文件中添加以下函数

小黑 标签调用 22022-11-17

PHP strtotime() 函数

    用代码测试

小黑 PHP2022-08-01

下一篇
我来说两句
抢沙发