网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 PHP5.4 htmlspecialchars转义中文字符串变空
范文
    php5.4+在htmlspecialchars转义中文的时候将中文转义为空了,做了一个项目找了一天的bug,原来是php5.4 的htmlspecialchars函数有了新特性了,下面的解决方案来源于网络
    $oldword = '网站制作学习网';
    $newword = htmlspecialchars($oldword);
    echo $newword;
    结果显示输出为空
    在我本地测试的时候 php5.3.8
    $oldword = 'htmlspecialchars转换字符串为空么?网站制作学习网';
    $newword = htmlspecialchars($oldword);
    echo $newword;
    结果显示输出:htmlspecialchars转换字符串为空么?网站制作学习网
    看网上的
    获知 htmlspecialchars 函数原型如下:
    string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )
    更新日志里面又有提到:
    5.4.0 The default value for the encoding parameter was changed to UTF-8.
    5.4.0 The constants ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML and ENT_HTML5 were added.
    PHP 从 5.4.0 版本开始第三个参数字符串编码的默认值改成了 UTF-8,而我这段代码中的中文编码正好是 GB2312 编码的,跟现在的默认参数不一致,于是更改调用, 为了与旧环境兼容,这里第二个参数没有组合使用 PHP 5.4 新加入的 ENT_HTML401 常量
    $oldword= '测试新的php5.4 htmlspecialchars转换字符串为空么?网站制作学习网';
    $newword = htmlspecialchars($oldword, ENT_COMPAT ,'GB2312');
    echo $newword;
    结果显示:测试新的php5.4 htmlspecialchars转换字符串为空么?网站制作学习网'
    这样,“中文字符串”就可以正常显示了。为了使 PHP 5.4 之前环境中编写的代码能够向前兼容,建议调用 htmlspecialchars 函数的的时候都提供字符串编码参数。
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/20 6:56:37