[英]how to replace non ascii character with their respective character in ruby 1.8.7
我用iconv替換了字符:
<%= Iconv.iconv("ascii//translit", "utf-8", "ENDÜœSTRIYEL").to_s %>
它顯示END?oeSTRIYEL
而在irb中,它顯示如下:
irb(main):006:0> Iconv.iconv('ascii//translit', 'utf-8', 'ENDÜœSTRIYEL').to_s
=> "ENDUoeSTRIYEL"
如何獲得irb中nonascii字符的完整翻譯?
謝謝。
glibc的iconv工具具有取決於區域設置的音譯:
$ echo "ENDÜœSTRIYEL" | LC_ALL=C iconv -f utf-8 -t ascii//translit
END?oeSTRIYEL
$ echo "ENDÜœSTRIYEL" | LC_ALL=de_DE.UTF-8 iconv -f utf-8 -t ascii//translit
ENDUEoeSTRIYEL
$ echo "ENDÜœSTRIYEL" | LC_ALL=ja_JP.UTF-8 iconv -f utf-8 -t ascii//translit
ENDUoeSTRIYEL
如您所見,對於三種不同的語言環境,三種不同的結果。
如果要托管用於處理來自不同國家/地區用戶的輸入的服務器,則有兩種選擇:
uselocale
,而不是setlocale
)。 但是,我不知道Ruby是否提供uselocale
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.