中文乱码显示解决方法大全

中文乱码显示解决方法大全
操作日期:2008-11-08早上
操作环境:Ruby1.86、Rails2.1.2、MYSQL5、RadRails0.7.1
文章作者:Gevin QQ:1616569


   中文乱码显示问题普遍存在于各种编程语言中,开发J2EE的过程中也经常遇到这类问题,而影响中文显示的原因很多,数据传递的编码不同、开发工具的编码设置和数据库本身的编码问题都可能使得无法正常显示中文。
    这几天在学习ROR中也遇到了中文乱码的显示问题,包括数据库数据中文乱码显示和views的html.erb中的中文乱码显示等问题,解决的方法也不一样,现记录如下。

一、数据库中文乱码显示解决方法
现象:数据库中的中文数据将显示为????。


解决方法:
步骤1:安装MySQL时的字符集选择utf-8,若已安装但不是选择这个,可通过修改MySQL安装目录下的my.ini,修改代码default-character-set为:
[mysql]

default-character-set=utf8
步骤2:新建数据库和数据库表的时候也选择utf8
步骤3:修改ROR项目下的数据库配置文件database.yml,代码如下:
development:
adapter: mysql
database: department_development
encoding: utf8
host: localhost
username: root
password: xxxx

重启服务器,数据库中文乱码显示的问题已解决,浏览如下:



二、html.erb等文件的中文乱码显示问题解决方法
    除了读取数据库数据时中文会显示为乱码外,编写在html.erb等文件的中文也同样会显示乱码,此处主要讨论使用IDE工具编写的文件出现中文乱码的问题,因为用记事本编写时保存为utf-8的格式时就不会出现这种问题。

现象:


解决方法:
在新建Rails Project项目后,必须设置一下该Project的编码类型为UTF-8,设置的步骤如下:
右击“项目名称” | properties | 将“Text file encoding”设置为UTF-8,如图:


刷新页面,效果如下:



三、link_to 中文参数导致页面出错的问题
若将每条信息后面“Show Edit Destroy”改为“显示 修改 删除”后将浏览出错,即修改代码
    <td align="center"><%= link_to 'Show', department %></td>
    <td align="center"><%= link_to 'Edit', edit_department_path(department) %></td>
    <td align="center"><%= link_to 'Destroy', department, :confirm => 'Are you sure?', :method => :delete %></td>




    <td align="center"><%= link_to '显示', department %></td>
    <td align="center"><%= link_to '修改', edit_department_path(department) %></td>
    <td align="center"><%= link_to '删除', department, :confirm => 'Are you sure?', :method => :delete %></td>


解决此类问题的方法是:
在environment.rb文件中添加以下两句代码:
  $KCODE= "utf-8"
  ActionController::Base.default_charset=('utf-8')

浏览效果如下:


    现在的中文界面看起来是不是比起自动生成后的英文界面清晰、容易操作多了呀?(相对于中国人来说,如果是外国人就例外了啦。嘻嘻!!*^_^*)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值