1
我正在努力在Rails中找到能夠將UTF-8代碼轉換爲其可顯示值的正確方法。Ruby on Rails:內容爲%F1的UTF-8編碼字符串
就我而言,如果可能的話,它會將一些用戶輸入(如「John%20Da%F1e」)轉換爲「JohnDañe」。
目前,我有以下幾點:
unescaped_name = CGI::unescape(params[:name]) # this turns "John%20Da%F1e" into "John Da\xF1e"
@q = I18n.transliterate(unescaped_q) #this yields an 'invalid byte sequence in UTF-8' error
從本質上講,我試圖從 「約翰%20DA%F1E」(以UTF-8已編碼),以 「約翰·戴恩」 去了。
有一件事我已經試過了
.encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '')
,但它取代了ASCII(%到\ x)與 「約翰金大中」。
嘿尼爾你能來看看嗎? - > http://stackoverflow.com/questions/23029367/before-action-on-import-from-csv –