解决rails与mysql结合使用时的中文乱码问题
2010-08-27 00:37
1091 查看
Rails MySQL 中文乱码问题解决
2008-03-02 16:01
$(".MathJax").remove();
2008-03-02 16:01
RoR+MySQL搭建的程序。 当输入英文的时候,程序不报错,当输入中文出现的错误提示: Mysql::Error: #HY000Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=': SELECT * FROM `users` WHERE (`users`.`email` = '阿') LIMIT 1 这是字符编码混合而产生的错误,解决办法是将表的编码修改成一致的。 语法:ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8; 也可以通过migrate指定: class CreateUsers < ActiveRecord::Migration def self.up create_table :users, : options => 'CHARSET=utf8' do |t| t.column :name, :string t.column :password, :string t.column :birthday, :datetime t.column :email, :string t.column :address, :text end end def self.down drop_table :users end end 其实解决中文问题很简单: 1、确定MySQL数据库编码是utf8 2、database.yml里面增加encoding: utf8 3、确定rhtml文件编码是UTF-8 1、确定MySQL数据库编码是utf8 跟上面同理 2、database.yml里面增加encoding: utf8 development: adapter: mysql encoding: utf8 database: song username: root password: host: localhost 3、确定rhtml文件编码是UTF-8 修改application.rb文件: class ApplicationController < ActionController::Base before_filter :set_charset before_filter :configure_charsets #中文乱码解决方案 def set_charset headers["Content-Type"] = "text/html; charset=utf-8" end def configure_charsets response.headers["Content-Type"] = "text/html; charset=utf-8" suppress(ActiveRecord::StatementInvalid) do ActiveRecord::Base.connection.execute 'SET NAMES UTF8' end end end 在网页中,添加meta标签: <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> |
相关文章推荐
- 使用Hibernate和Mysql中文乱码问题解决
- JSP,mysql,tomcat下(基于struts2)中文及其乱码问题的解决 5大配置点 使用UTF-8编码
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- 解决MySQL在使用命令时中文字符出现乱码的问题
- 解决使用cmd或powershell进行数据库(MySQL,SQLite3...)查询时中文乱码的问题
- Jena API使用详解(关注将本体持久化到MySQL后的操作及解决中文乱码等问题)
- Ubuntu15.10使用mysql 5.6.28中文乱码问题解决
- Django中使用MySQL添加中文乱码的问题解决
- 关于在MySQL 、 VC、 JSP 中使用UTF-8解决中文生僻字乱码的问题
- 使用MySQL保存中文数据时,经常会遇到乱码问题的解决思路
- 在Ubuntu/Linux环境下使用MySQL:解决在Linux环境下MySQL中文乱码的问题
- mysql使用source 命令后表内中文乱码问题的解决方法
- jsp servlet mysql fckeditor等配合使用时出现中文乱码的解决问题!
- linux系统下mysql快速安装使用、远程访问及中文乱码问题解决
- 解决Mysql中文乱码以及Incorrect string value的问题
- 如何用dot net连接MySQL,及中文乱码问题解决
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- 使用windows Builder的一个中文乱码问题解决
- php读mysql中文乱码问题解决方法