Ruby 1.9 - invalid multibyte char (US-ASCII)

后端 未结 3 1277
慢半拍i
慢半拍i 2020-12-12 14:53

Im trying to make my rails application (2.3.5) to run on Ruby 1.9, I\'ve this function that make some transformations on a string:

def replace_special_chars(         


        
相关标签:
3条回答
  • 2020-12-12 15:33

    I think you can also change the regexps from the syntax /re/ to the syntax (Regexp.new 're', nil, 'n')

    For example, the instruction you mentioned:

    string.gsub! /á|ã|à|ä|â/, 'a'

    will become:

    string.gsub! (Regexp.new 'á|ã|à|ä|â', nil, 'n'), 'a'

    More details here:

    http://www.ruby-forum.com/topic/183413

    0 讨论(0)
  • 2020-12-12 15:48

    Write # encoding: utf-8 on top of that file. That changes the default encoding of all string/regexp literals in that file utf-8. The default encoding for all literals is US-ASCII, which cannot represent á.

    0 讨论(0)
  • 2020-12-12 15:51

    To make it project-wide, try: the magic_encoding gem.

    0 讨论(0)
提交回复
热议问题