社区
PHP
帖子详情
php中输出中文字符乱码
phperJoe
2013-11-11 01:54:04
问题如下:
$load_list 是一个二维数组,将其中的user_name值取出前两个字符,后面用星号代替,但是遇到中文字符就出现乱码,设置header()函数,也没用,求解决办法,谢谢!
foreach($load_list as $k=>&$v){
$temp=&$v['user_name'];
for($i=0,$len=strlen($temp);$i<$len;$i++){
if($i>1){
$temp[$i]='*';
}
}
}
截图如下:
...全文
115
2
打赏
收藏
php中输出中文字符乱码
问题如下: $load_list 是一个二维数组,将其中的user_name值取出前两个字符,后面用星号代替,但是遇到中文字符就出现乱码,设置header()函数,也没用,求解决办法,谢谢! foreach($load_list as $k=>&$v){ $temp=&$v['user_name']; for($i=0,$len=strlen($temp);$i1){ $temp[$i]='*'; } } } 截图如下:
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
守缘
2013-11-11
打赏
举报
回复
试试mb_substr函数
xuzuning
2013-11-11
打赏
举报
回复
你的代码只适用于单字节字符串,没有考虑到 中文 gbk 一个字符 2 个字节 中文 utf-8 一个字符 3 个字节
PHP
中
使用substr()截取
字符
串出现
中
文
乱码
问题该怎么办
在
PHP
程序开发
中
,经常会执行
字符
串的截取操作,比如
输出
信息列表时,标题不宜过长,打印文章摘要时,也要执行一系列的
字符
串截取操作。遇到这些需求时,我们经常会想到使用substr()方法来实现,substr()对全英文
字符
串的截取是比较适合的。 但
字符
串只要出现
中
文
字符
,就有可能导致
PHP
substr
中
文
乱码
,因为
中
文
UTF-8编码,每个汉字占3字节,而GB2312占2字节,英文占1字节,截取位数不准确,substr()硬生生地将一个
中
文
字符
“锯”成两半,造成断开的
字符
会把其后的..拉过来一起做一个字,所以出现了
PHP
substr
中
文
乱码
。 substr — 取得部份
字符
串 语法 : str
php
截取
中
文
字符
串不
乱码
的方法
GBK编码截取示例 复制代码 代码如下:$str = ‘我是谁’; //gbk编码的
字符
串echo mb_substr($str, 0, 1, ‘gbk’); //
输出
我 mb_substr方法比substr多一个参数,用来指定
字符
串编码。 utf-8编码截取示例 [code]$str = ‘我abc是谁’; //utf-8编码的
字符
串echo mb_substr($str, 0, 2, ‘utf-8’); //
输出
我a[/code
中
英混合也完全没有问题。 友情提示 使用的时候要注意
php
文件的编码,和网页显示时的编码。 使用这个mb_substr方法要事先知道
字符
串的编码,如果不知
php
中
文
字符
串截取方法实例总结
本文实例总结了
php
中
文
字符
串截取方法,非常实用的技巧。分享给大家供大家参考。具体方法分析如下: 用
PHP
函数substr截取
中
文
字符
可能会出现
乱码
,主要是substr可能硬生生的将一个
中
文
字符
“锯”成两半。 解决办法如下: 1、使用mbstring扩展库的mb_substr截取就不会出现
乱码
了。 2、自己书写截取函数,但效率不如用mbstring扩展库来得高。 3、如果仅是为了
输出
截取的串,可用如下方式实现:substr($str, 0, 30).chr(0)。 substr()函数可以分割文字,但要分割的文字如果包括
中
文
字符
往往会遇到问题,这时可以用mb_substr()/mb_strcu
PHP
中
实现
中
文
字串截取无
乱码
的解决方法
在
PHP
中
,substr()函数截取带有
中
文
字符
串的话,可能会出现
乱码
,这是因为
中
西文一个字节所占有的字节数不一样,而substr的长度参数是按照字节去算的,在GB2312编码时,一个
中
文
占2个字节,英文为1个字节,而在UTF-8编码当
中
,一个
中
文
可能占有2个或3个字节,英文或半角标点占1字节。 直接使用
PHP
函数substr截取
中
文
字符
可能会出现
乱码
,主要是substr可能硬生生的将一个
中
文
字符
“锯”成两半。解决办法: 1、使用mbstring扩展库的mb_substr截取就不会出现
乱码
了。 2、自己书写截取函数,但效率不如用mbstring扩展库来得高。 3、如果仅是为了
输出
截取的串,可用
常见
php
与mysql
中
文
乱码
问题解决办法
乱码
问题1:用
PHP
myAdmin操作MySQL数据库汉字显示正常,但用
PHP
网页显示MySQL数据时所有汉字都变成了?号。 症状:用
PHP
myAdmin输入汉字正常,但当
PHP
网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少个?号。 原因:没有在
PHP
网页
中
用代码告诉MySQL该以什么
字符
集
输出
汉字。 解决方法: 1.网页文件head设置编码<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> 2.
PHP
页面在保存的时候使用utf-8编码保存,可以用记事本或convertz802转换文件
PHP
20,359
社区成员
19,658
社区内容
发帖
与我相关
我的任务
PHP
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
复制链接
扫一扫
分享
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
php
phpstorm
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章