中文乱码永远是心头一痛。
最近学习Rails,又遇到了久违的中文乱码问题。
如下是本人的解决方法:
编码选择:除非因为历史遗留原因,要保证所有的编码全部为UTF-8,尽量不要尝试GBK编码,否则以后出现问题的时候,会有你好看的。
编辑器编码:将Ruby源文件尽量使用UTF-8编码,这个在一些高级的文本编辑器中提供,或是在Notepad保存时候可以选择。如果使用RadRails,就更好解决了。eclipse的编辑器编码设置在Window - Preferences - General - Workspace中。
数据库编码:
数据库的编码一定要选择UTF-8,因为Rails生成网页默认编码是UTF-8,如果数据库编码为GBK格式,会出现MySQL发出的编码错误异常。如果在安装MySQL是已经选择了其他编码格式,解决办法是打开MySQL安装目录下的my.ini,找到default-character-set更改为default-character-set=utf8,有两处需要更改,注意不要遗漏。
这是运行程序时就不会出现编码错误抛出的异常。但是还有另一个问题,数据库写入和读出时都可以正常处理中文,但使用phpMyAdmin或者Query Bowser查看写入的数据时,却是乱码,这个也有很好的解决办法。只需要更改你所在工程目录下的config\database.yml,添加如下语句 encoding: utf8:即将文件更改为如下所示:
这样就可以完美解决Rails中文编码问题。
最近学习Rails,又遇到了久违的中文乱码问题。
如下是本人的解决方法:
编码选择:除非因为历史遗留原因,要保证所有的编码全部为UTF-8,尽量不要尝试GBK编码,否则以后出现问题的时候,会有你好看的。
编辑器编码:将Ruby源文件尽量使用UTF-8编码,这个在一些高级的文本编辑器中提供,或是在Notepad保存时候可以选择。如果使用RadRails,就更好解决了。eclipse的编辑器编码设置在Window - Preferences - General - Workspace中。
数据库编码:
数据库的编码一定要选择UTF-8,因为Rails生成网页默认编码是UTF-8,如果数据库编码为GBK格式,会出现MySQL发出的编码错误异常。如果在安装MySQL是已经选择了其他编码格式,解决办法是打开MySQL安装目录下的my.ini,找到default-character-set更改为default-character-set=utf8,有两处需要更改,注意不要遗漏。
这是运行程序时就不会出现编码错误抛出的异常。但是还有另一个问题,数据库写入和读出时都可以正常处理中文,但使用phpMyAdmin或者Query Bowser查看写入的数据时,却是乱码,这个也有很好的解决办法。只需要更改你所在工程目录下的config\database.yml,添加如下语句 encoding: utf8:即将文件更改为如下所示:
development:
adapter: mysql
database: depot_development
username: root
password:
host: localhost
encoding: utf8
这样就可以完美解决Rails中文编码问题。