php – unserialize阿拉伯文字母呈现???作为输出

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – unserialize阿拉伯文字母呈现???作为输出脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下一点代码

function apPEar($data)
{
    $output = '';
    $unsee = unserialize ( $data );
    if (is_array ( $nsee ))
    {
        $output .= '<table>' . "";
        foreach ( $nsee as $button )
        {
            $output .= loadbutton ( $button);
        }
        $output .= '
        <tr><td>IP</td>
        <td>' . $_SERVER ['REMOTE_ADDR'] . '</td></tr>' . "";
        $output .= '</table>' . "";
    }
    return $output;
}

function loadbutton($button)
{
    $output = '';
    $output .= '<tr>' . "";
    $output .= '<td>';
    $output .= $button ['values'];
    $output .= '</td><td>';
    $output .= $_POST [strtolower ( $button ['values'])] ;
    $output .= '</td>' . "";
    $output .= '</tr>' . "";
    return $output;
}

当我使用英文序列化数据的出现函数时,它完美地工作并输出正常.

但是,当我将它用于阿拉伯语的系列化数据时.一切正常,除了阿拉伯字母显示为“????”而不是真正的阿拉伯字母.

我已经验证了数据库中的数据,一切都是UTF-8,并且所有内容都是有效的数据库明智和保存顺序保存.但输出和反序列化是不正确的.

知道解决这个问题的方法吗?
反序列化是否支持阿拉伯字母?如果没有那么为什么它会正确地保存阿拉伯字母而不是取出它们?

编辑:

我相信的问题在于调用$button [‘values’].

我的$button数组是
数组(‘values’=>’字段值’)

想到没有解决方案.我知道它应该工作.

解:

问题出在我的序列化数据的MysqL插入语句中.我插入拉丁语.一个简单的,愚蠢的错误.

谢谢您的帮助.

解决方法

确保您已在HTML文档中设置:

< Meta http-equiv =“Content-type”content =“text / html; charset = utf-8”/>

或者输出任何内容之前将它放在PHP代码的顶部,使用HTTP标头进行设置:

header(‘Content-Type:text / html; charset = utf-8’);

浏览器没有使用正确的字符集,因此显示?代替那些人物.

还使用:

$output .= $_POST[mb_strtolower($button['values'],'UTF-8')];

因为strtolower()不能正确地小写多字节字符.

脚本宝典总结

以上是脚本宝典为你收集整理的php – unserialize阿拉伯文字母呈现???作为输出全部内容,希望文章能够帮你解决php – unserialize阿拉伯文字母呈现???作为输出所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。