PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
PHP
[请益] Default charset for htmlspecialchars()
楼主:
macarthur628
(macarthur628)
2016-01-01 22:19:07
我是用 Linux Mint 17.3, 目前遇到 htmlspecialchars()无法处理 big5字串的问题.
big5_str.php的范例程式如下:
<?php
echo ini_get("default_charset");
echo "\n";
$big5Str = "系统管理";
echo htmlspecialchars($big5Str, ENT_QUOTES);
echo "\n";
echo htmlspecialchars($big5Str, ENT_QUOTES, 'BIG5');
echo "\n";
?>
locale设定如下:
~ $ locale
LANG=zh_TW.UTF-8
LANGUAGE=
LC_CTYPE="zh_TW.UTF-8"
LC_NUMERIC="zh_TW.UTF-8"
LC_TIME="zh_TW.UTF-8"
LC_COLLATE="zh_TW.UTF-8"
LC_MONETARY="zh_TW.UTF-8"
LC_MESSAGES="zh_TW.UTF-8"
LC_PAPER="zh_TW.UTF-8"
LC_NAME="zh_TW.UTF-8"
LC_ADDRESS="zh_TW.UTF-8"
LC_TELEPHONE="zh_TW.UTF-8"
LC_MEASUREMENT="zh_TW.UTF-8"
LC_IDENTIFICATION="zh_TW.UTF-8"
LC_ALL=
big5_str.php执行的结果如下:
~ $ php big5_str.php | iconv -f big5 -t utf8
BIG5
系统管理
请问我已经在 php.ini加上 default charset设定,
default_charset = "BIG5"
呼叫 htmlspecialchars()时, 为何还是要加上第三个 $encoding参数,
才能正常显示 big5字串的内容? 有没有办法只给两个参数就能正常显示 big5字串?
请不吝指教, 谢谢
作者: a60301 (mingtsay〃小喵)
2016-01-02 00:18:00
你的这个 php 网页是存成 big5 还是 utf-8 ?根据 php.net 说明, PHP 5.6 以上的才支援 ini 里面的设定否则默认都是 utf-8
http://php.net/manual/en/function.htmlspecialchars.php
楼主:
macarthur628
(macarthur628)
2016-01-02 07:38:00
网页是存成 big5, 目前使用的 php版本是 5.5.9这段程式在 5.2.10上面的执行结果, 符合我的预期.如你所述, 看起来是 php版本之间的差异造成的, 谢谢
继续阅读
[请益] git branch 测试机问题
chan15
[请益] 中国写好的范例只要安装就有?
gentleman45
[请益] 新手请问mac 单独安装php Apache
za319
Fw: [征才] 巴比乐视 / 网站工程师
yanjiyi
[请益] php 如何用正规法 替换图片路径?
nash888
[请益] setcookie 没有效果
dspswen
[请益] php撷取网页中script里面的meta name
soul810707
[请益] 如何以ajax回传结果变更php变量?
yiefaung
[请益] 请问PHP有没有“音效函式库”
freebug
[请益] preg_replace的问题 大小写
brockcheng
Links
booklink
Contact Us: admin [ a t ] ucptt.com