Ruby on Rails 3, incompatible character encodings: UTF-8 and ASCII-8BIT with i18n

后端 未结 5 1380
再見小時候
再見小時候 2020-12-02 10:36

I\'ve got some troubles with the couple Rails 3.0.1, Ruby 1.9.2 and my website localization.

The problem is quite simple, i\'ve got something like that in a view :

相关标签:
5条回答
  • 2020-12-02 11:03

    Using this unpack function helped me sort this out finally, try this if you get the can't convert error message:

    myString.unpack('U*').pack('U*')
    
    0 讨论(0)
  • 2020-12-02 11:07

    Ok so problem solved after some hours of googling...

    There was actually two bugs in my code. The first one was a file encoding error and the second was the problem with the MySQL Data base configuration.

    First, to solve the error caused by MySQL I used this two articles :

    http://www.dotkam.com/2008/09/14/configure-rails-and-mysql-to-support-utf-8/

    http://www.rorra.com.ar/2010/07/30/rails-3-mysql-and-utf-8/

    Second, to solve the file encoding problem I added these 2 lines in my config/environment.rb

    Encoding.default_external = Encoding::UTF_8
    Encoding.default_internal = Encoding::UTF_8
    

    Hopefully this will help someone :)

    0 讨论(0)
  • 2020-12-02 11:11

    Are you sure your es.yml file was saved as UTF-8?

    If you're on Windows, use http://notepad-plus-plus.org/ to make sure.

    0 讨论(0)
  • 2020-12-02 11:20

    I solved most of the problems by combining many solutions:

    • Make sure application.rb has this line: config.encoding = "utf-8".
    • Make sure you are using 'mysql2' gem
    • Putting # encoding: utf-8 at the top of any file containing utf-8 characters.
    • Add the following two lines above the <App Name>::Application.initialize! line in environment.rb:

      Encoding.default_external = Encoding::UTF_8
      Encoding.default_internal = Encoding::UTF_8
      

    http://rorguide.blogspot.com/2011/06/incompatible-character-encodings-ascii.html

    0 讨论(0)
  • 2020-12-02 11:28

    Make sure you have config.encoding = "utf-8" in your config/application.rb. Also, your example translation file doesn't match the key you're searching for (com_name and first_name) but I suppose that could just be a typo.

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