gpt4 book ai didi

mysql - 应用程序和数据库UTF-8编码但仍然异常

转载 作者:行者123 更新时间:2023-11-29 22:25:31 25 4
gpt4 key购买 nike

我开发了一个与 Mysql 数据库链接的 Rails 应用程序。

在 Rails 控制台中

irb(main):002:0> Rails.application.config.encoding
=> "utf-8"

我的数据库

我使用 Scalingo 进行部署(类似于 Heroku),我的 database.yml 看起来:

"production"=>{"adapter"=>"mysql", "database"=>"****", "pool"=>5, "timeout"=>10000, "encoding"=>"utf8", "username"=>"****", "password"=>"<password>", "port"=>30324, "host"=>"****"}}

我的应用程序和数据库配置良好,但在数据库上写入名称:“é”时,它会返回:

=> #<Node id: 21, name: "\xC3\xA9", created_at: "2015-05-18 06:43:29", updated_at: "2015-05-18 06:43:29">

如何解决这个问题?

解决方案

用 mysql2 替换 gem mysql 以及 mysql2 的适配器

最佳答案

首先需要设置database.yml,定义编码为utf-8

development:
adapter: mysql
encoding: utf8
database: my_international_db
username: user
password: password
socket: /var/run/mysqld/mysqld.sock

现在还要检查你的 mysql 的conf文件

在/etc/mysql/my.conf中

...
[client]

default-character-set=utf8

...
[mysqld]

default-character-set=utf8
character-set-server=utf8
default-collation=utf8_unicode_ci
...

如果满足上述条件,则无需执行任何操作。如果您更改了任何内容,请重新启动 mysql 服务器

sudo /etc/init.d/mysql restart

请告诉我

关于mysql - 应用程序和数据库UTF-8编码但仍然异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30296664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com