差異處
這裏顯示兩個版本的差異處。
| 兩邊的前次修訂版 前次修改 | |||
| tech:perl_utf8 [2008/11/11 18:23] – jonathan | tech:perl_utf8 [2008/12/19 12:04] (目前版本) – jonathan | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== Perl UTF-8 ====== | ||
| + | 最近使用 [[tech: | ||
| + | 以下是試出來的方法.. 至於為何會用 decode 而不是 encode 我也沒有仔細去探究原因.. LOL | ||
| + | |||
| + | * perl 版本 : 5.8.8 (x86_64-linux-thread-multi) <- CentOS 5.2 內建版本 | ||
| + | |||
| + | <code perl> | ||
| + | # | ||
| + | use XML::Simple qw(: | ||
| + | use utf8; | ||
| + | |||
| + | : | ||
| + | : | ||
| + | # $db_str <- 這是由資料庫中取得的資料. | ||
| + | # $v_str <- 這是在程式中定義的變數 | ||
| + | # $xml_str <- 這是透過 XML::Simple 取得的 xml 內資料 | ||
| + | |||
| + | $x = " | ||
| + | print(" | ||
| + | |||
| + | utf8:: | ||
| + | utf8:: | ||
| + | $y = " | ||
| + | print(" | ||
| + | |||
| + | </ | ||
| + | |||
| + | < | ||
| + | * 剛剛想到, | ||
| + | * 為何之前一直在 encode / decode 繞圈圈, 主要是因為透過 utf8:: | ||
| + | * 後來發現, | ||
| + | </ | ||
| + | |||
| + | |||
| + | <code perl> | ||
| + | # | ||
| + | use XML::Simple qw(: | ||
| + | use utf8; | ||
| + | |||
| + | : | ||
| + | : | ||
| + | # $db_str <- 這是由資料庫中取得的資料. | ||
| + | # $v_str <- 這是在程式中定義的變數 | ||
| + | # $xml_str <- 這是透過 XML::Simple 取得的 xml 內資料 | ||
| + | |||
| + | $x = " | ||
| + | print(" | ||
| + | |||
| + | $xml_str=to_utf8($xml_str); | ||
| + | $y = " | ||
| + | print(" | ||
| + | |||
| + | |||
| + | # 轉成 utf8 | ||
| + | sub to_utf8 { | ||
| + | local($p_str) = @_; | ||
| + | if (utf8:: | ||
| + | utf8:: | ||
| + | } | ||
| + | return($p_str); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== 參考網頁 ===== | ||
| + | * http:// | ||
| + | |||
| + | {{tag> | ||