Archive for ‘ 二月, 2005

[PHP]如何得知輸入的字串是否為 UTF-8 編碼

使用下列函數,如果傳回值為 true,表示輸入的字串為 UTF-8 編碼:

// Returns true if $string is valid UTF-8 and false otherwise.
function is_utf8($string) {
    return preg_match('%^(?:
        [\x09\x0A\x0D\x20-\x7E]             # ASCII
        | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
        | \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
        | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
        | \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
        | \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
        | [\xF1-\xF3][\x80-\xBF]{3}         # planes 4-15
        | \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
    )*$%xs', $string);
}

參考網頁

 

[Perl]如何得知輸入的字串是否為 UTF-8 編碼

使用下列函數,如果傳回值為 1,表示輸入的字串為 UTF-8 編碼:

#Returns 1 if $text is valid UTF-8 and 0 otherwise.
sub is_utf8 {
    my $text = shift;
    if( $text =~ m/^(
        [\x09\x0A\x0D\x20-\x7E]             # ASCII
        | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
        | \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
        | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
        | \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
        | \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
        | [\xF1-\xF3][\x80-\xBF]{3}         # planes 4-15
        | \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
    )*$/x ){
        return 1;
    }
    else{
        return 0;
    }
} #sub is_utf8

參考網頁

[Perl]Big5/UTF-8 編碼轉換的模組

Big5 及 UTF-8 編碼的轉換方式有兩種 (請先安裝 Encode::compat 模組):

方式一

use Encode::compat;
use Encode qw(from_to);

my $string = "中文";

#Big5 轉 UTF-8
from_to($string, 'big5', 'utf8');
print "$string\n";

#UTF-8 轉 Big5
from_to($string, 'utf8', 'big5');
print "$string\n";

Read more

[轉載][PHP]使用 PHP v4.2.0 及以後版本的注意事項

轉載自: 中文 PHP 資訊站


從PHP 4.2.0版本開始中, PHP 指令 register_globals 的預設值為 off(在php.ini配置文件裏). 這是 PHP 的一個主要變化。register_globals是幹什麼用的呢?它是PHP用來控制是否將EGPCS (Environment, GET, POST, Cookie, Server)變數是否註冊為總體變數的。
例如,對於 http://www.xx.php?var=2 這裏的var,在為 on 時,你只需用 $var 即可,但在 off 時,就必須用 $_GET["var"] 來接收了~ 這裏的 $_GET 就是一個PHP超總體變數陣列。和它性質一樣的還有:

  • $GLOBALS

 

包含一個引用指向每個當前腳本的全局範圍內有效的變數。該陣列的鍵標為總體變數的 名稱。從 PHP 3 開始存在 $GLOBALS 陣列。

 

  • $_SERVER

 

變數由 Web 伺服器設定或者直接與當前腳本的執行環境相關聯。等同於舊陣列 $HTTP_SERVER_VARS 陣列,但和 $_SERVER 不是一個變數,因為PHP處理它們的方式不同,下同。雖然$HTTP_SERVER_VARST和下面的$HTTP_*_VARS仍然可以使用,但絕不推 薦您再使用$HTTP_*_VARS.

 

  • $_GET

 

經由 HTTP GET 方法提交至腳本的變數。例如由 URL、表單的GET方式 產生的變數。使用方式:$_GET["xx"];

 

  • $_POST

 

經由 HTTP POST 方法提交至腳本的變數。例如由 表單的POST方式 產生的變數。使用方式:$_POST["xx"];

Read more

[轉載][PHP][MySQL]PHP 和 MySQL 開發的 8 個技巧

轉載自: 中文 PHP 資訊站


LAMP 架構的網站,我以前注重的多是安裝/配置方面的,講述開發的相對較少,因為自己從事開發也少。本文的原文當然也來自:

看了以後,頗有啟發,以前開發中遇到的一些問題,迎刃而解。所以翻譯出來和大家共用。

Read more

[轉載][PHP]PHP 使用無限生命期 Session 的方法

轉載自: 中文 PHP 資訊站


在PHP4.0中加入了對Session的支援,方便了我們很多程式,比如購物車等等。

在很多論壇中,Session也用於處理用戶的登陸,記錄下用戶名和密碼,使得用戶不必每次都輸入自己的用戶名和密碼!但是一般的Session的生命期有限,如果用戶關閉了瀏覽器,就不能保存Session的變數了!那麼怎麼樣可以實現Session的永久生命期呢?

大家知道,Session儲存在伺服器端,根據用戶端提供的SessionID來得到這個用戶的文件,然後讀取文件,取得變數的值,SessionID可 以使用用戶端的Cookie或者Http1.1協定的Query_String(就是訪問的URL的"?"後面的部分)來傳送給伺服器,然後伺服器讀取 Session的目錄……

Read more

PieTTY 0.3.5 - 實用的 Telnet/SSH 終端機連線程式

檔案下載

平常我都是用 SecureNetTerm,今天試用 PieTTY,發現這也是一支好用的 Telnet/SSH 終端機連線程式。PieTTY 修改自 Putty 0.57,對「亞洲語系」的相容性更高,用起來更方便、順手。

PieTTY 的特點

  • 半透明顯示方式增為三種繪製方式以配合各種硬體。
  • 內建 Big5-2003+中國海字集,免裝「Unicode 補完」!
  • 內建簡易中文簡繁轉換(使用 autrijus 的表格) 。
  • 使用界面大幅加強:無框視窗模式、記住最後視窗位置…
  • 全新的視覺效果:視窗陰影!
  • 可設為系統 telnet:// 處理程式
  • 加強顯示非系統預設的語系,如在英文版Windows上設英文字型並同時顯示中文與韓文。
  • 加強剪貼方式方便性,BBS 與 IRC 互貼彩色不是夢!
  • 徹底解決之前各版點選網址的相關問題。

PieTTY 的缺點

  • 沒有站台管理。

WikkaWiki 1.1.60 繁體中文版下載

檔案下載

  • 名  稱: WikkaWiki
  • 版  本: 1.1.60(20050214)
  • 檔案大小: 612.62 KB
  • 語言介面: 中文版
  • 版本性質: Freeware
  • 釋出日期: 2005/02/14
  • 作業平台: Linux
  • 原創網站: Wikka Wakka Wiki
  • 檔案下載: 主程式(1160-20050214)

用 Wiki 來編寫文件實在是一種很好的模式,拿 Wiki 來當 "共同創作" 、 "知識管理" 或 "文件管理" 也都是很好的應用。網路上的 Wiki 套件有很多,但應該都還有很大的成長空間,也因為一直找不到心目中理想的 Wiki,所以就自己動手修改了 WikkaWiki。
Read more

return top