1 頁 (共 1 頁)

簡體解決方案

發表於 : 2005-06-24 09:31:55
yehlu
ob_start(langtran)

function langtran($buffer)
{
return (iconv("Big5", "GB2312", $buffer));
}

http://www.luar.com.hk/flashbook/archives/000802.php

發表於 : 2005-07-26 10:22:59
yehlu
中文轉碼程序 (02-10-2003)

以下是一些從網絡上收集、整理和經過本人的改良和測試後,可行的PHP中文轉碼源文件,本站的轉碼程序正是運用它們。

* Big5轉GB2312
* Big5轉UTF-8
* GB2312轉Big5
* GB2312轉UTF-8

使用方法
執行changeXXX2XXX.php?path=路徑,例如:changeBig52GB.php?path=http://hk.yahoo.com,該網頁就會被轉碼和輸出,同時網頁內Charset會轉為輸出編碼,即由Big5改為gb2312。

留意
如果讀入別的網址網頁,輸出網頁的圖片會因為使用相同路徑而無法顯示,鏈結的路徑也是不正確的。

其他方法

* PHP iconv函數
* PHP Iconv Module

2005-2-21補充
UTF-8的繁簡轉換(我還沒有時間測試過)

* PHP5 Forum 討論區 - 請教貴站在UTF8下轉繁簡體的方法...
* Chinese Text Conversion

判斷使用者所使用的瀏覽器版本及使用的語系

發表於 : 2005-07-28 09:33:59
yehlu
if ($HTTP_ACCEPT_LANGUAGE=="zh-cn") {
$c_lang="GB";
}
if ($HTTP_ACCEPT_LANGUAGE=="zh-tw") {
$c_lang="BIG5";
}

用 outbuffer 轉碼

發表於 : 2005-08-11 10:12:11
yehlu
ob_start("langtran");
ini_set("default_charset","GB2312");
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
echo '<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN" xml:lang="zh-CN">';
echo '<meta http-equiv="Content-Type" content="text/html;charset=GB2312" />';

最後實做結果

發表於 : 2005-09-26 11:48:22
yehlu
用 outoutbuffer 遇到太長的頁面會無法完成轉碼
故還是回歸最原始的做法
將程式轉碼

1. Big5 -> GB2312
2.GB2312->UTF8

寫一支程式來自動轉,且判斷檔案異動的時間
有異動的程式再轉碼
轉出的檔案要放在不同的目錄
這樣就ok了

Re: 簡體解決方案

發表於 : 2014-12-03 18:28:28
fairyanna
yehlu@cPOSap01:~$ tail /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.4 LTS"
yehlu@cPOSap01:~$ phpbrew install php-5.3.27 +default