2009年2月19日 星期四

Perl中對URL參數進行編碼

在打工的時候遇到的問題,
今天找了好久,終於找到解決方法了
原來是big5轉utf8的問題…

首先,因為原本存在MySQL中的資料是以big5編碼的,
所以要傳到utf8的網頁當參數時,除了用url的編碼外,
還要用encode編一次,但是這還不夠,
由於是big5碼,所以要先以big5解碼,再轉utf8,
於是…解法如下:
-------------------------------------------------------------------------------
use Encode;
use CGI;

$url_para = encode("utf8",decode("big5",$original_str));

$final_para = uri_escape($url_para);
-------------------------------------------------------------------------------

That's all.

沒有留言: