相关疑难解决方法(0)

mysql2 gem 0.3.15给出ASCII-8BIT,编码设置为"utf8"

我使用MySQL 5.1.71和Rails 4.0.4在Ruby 2.0.0-p353上运行(通过rbenv + ruby​​-build),使用mysql2 gem 0.3.15.CentOS 6.5.

在database.yml中,编码设置为"utf8",适配器为所有环境的"mysql2".

我的表都使用UTF-8,"DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci".

在Ruby中Encoding::default_internal == Encoding::default_external == Encoding::UTF_8.

关于ActiveRecord为什么还给我ASCII-8BIT字符串的原因,我还能看到其他任何想法?我在Mac上开发了UTF-8,但在Linux上生产的是ASCII-8BIT.

当我启动一个控制台并直接使用mysql2时,我得到了ASCII,所以这似乎是问题所在.

mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 …
Run Code Online (Sandbox Code Playgroud)

ruby encoding ruby-on-rails utf-8 mysql2

12
推荐指数
1
解决办法
874
查看次数

标签 统计

encoding ×1

mysql2 ×1

ruby ×1

ruby-on-rails ×1

utf-8 ×1