アクセントや"ñ"
Ruby などのラテン文字を削除する必要があります。使ってみforce_encoding('UTF-8')
ましたがダメでした。
質問する
1789 次
1 に答える
5
Rubyエンコーディングに関する他の回答で使用したこのコードは、ほとんどの場合効果的であることが証明されました。スクリプト自体が UTF8 コーディングで保存されていることを確認してください。
t="doña"
p t.force_encoding(Encoding.locale_charmap).encode('UTF-8')
#=>"do\u251C\u2592a"
エンコードする代わりに置換する場合は、そのためのライブラリがありますが、単純な正規表現を使用することもできます
t="déjà"
puts t.gsub(/[éèàùµñçêï]/, '?') => d?j?
編集:コメントで、キャラクターの特別なバージョンを通常のバージョンに置き換えたいことに気づきました。次のようにこれを行うことができます
p string_with_special_chars.tr(
"ÀÁÂÃÄÅàáâãäåĀāĂ㥹ÇçĆćĈĉĊċČčÐðĎďĐđÈÉÊËèéêëĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħÌÍÎÏìíîïĨĩĪīĬĭĮįİıĴĵĶķĸĹĺĻļĽľĿŀŁłÑñŃńŅņŇňʼnŊŋÒÓÔÕÖØòóôõöøŌōŎŏŐőŔŕŖŗŘřŚśŜŝŞşŠšſŢţŤťŦŧÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųŴŵÝýÿŶŷŸŹźŻżŽž",
"AAAAAAaaaaaaAaAaAaCcCcCcCcCcDdDdDdEEEEeeeeEeEeEeEeEeGgGgGgGgHhHhIIIIiiiiIiIiIiIiIiJjKkkLlLlLlLlLlNnNnNnNnnNnOOOOOOooooooOoOoOoRrRrRrSsSsSsSssTtTtTtUUUUuuuuUuUuUuUuUuUuWwYyyYyYZzZzZz")
于 2012-04-24T22:16:53.907 に答える