当前位置:于振海网 > 随笔 >

php中str_replace出现乱码原因分析

发布时间:2011年11月18日更新时间:2024年2月5日作者:未知文章ID:499浏览:

    乱码问题是汉字编码和str_replace的工作方引起的,因为一个汉字是占两个字节的,全角空格也相当于汉字一样占两个字节,一个区码,一个位码。不过位码和区码有重叠的部分。如以下代码:

<?php
/*
\xa1\xa1  =>  " " (中文全角空格)
\xcd\xa1  =>  "汀"
\xa1\xa3  =>  "。"  (中文全角句号)
\xcd\xa3  =>  "停"
*/

$str = "汀。";
echo str_replace(" ", "", $str);
?>;
    以上代码的输出结果是 "停" 字。因为str_replace是一个字节一个字节的对比,所以会出错。

顶一下
8
100%
踩一下
0
0%
评论列表 发表评论
推荐文章