差異處
這裏顯示兩個版本的差異處。
下次修改 | 前次修改 | ||
tech:perl_utf8 [2008/11/11 18:05] – 建立 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> |