最近在做一个项目,部署时想采用 mysql 数据库,按照常规的设置: 1, database.yml
production:
adapter: mysql
encoding: utf8
reconnect: false
database: new_park
pool: 5
username: ******
password: *********
host: localhost
socket: /var/run/mysqld/mysqld.sock
2,apache2 的 httpd.conf
<VirtualHost *:80>
ServerName localhost
DocumentRoot /home/sciencepark/RubyCode/NewPark/public
<Directory /home/sciencepark/RubyCode/NewPark/public>
Allow from all
</Directory>
RailsEnv production
<Directory /home/sciencepark/RubyCode/NewPark/public>
Options -MultiViews
</Directory>
</VirtualHost>
3,使用命令:rake db:setup RAILS_ENV="production"
。其中 seeds.rb 中有中文字符。
这样之后,访问网站,出现了这样的错误:We're sorry, but something went wrong.
估计是 mysql 的中文问题。
网上很多帖子介绍如何解决 mysql 的中文乱码问题,一般是在 my.cnf 文件中的 [client] 及 [mysqld] 等中添加“default-character-set=utf8”,可是我一添加,重启 mysql 后就出现'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'这样的错误! 去掉添加的内容后 mysql 可以正常启动,但中文乱码问题依旧。不知如何是好!