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