- 浏览: 67271 次
- 性别:
- 来自: 长沙
最近访客 更多访客>>
最新评论
-
qichunren:
vickyxr 写道咦,教程里不是说如果有中文的话用setDa ...
lighttpd下rails FusionCharts图表 -
qichunren:
vickyxr 写道非常非常汗!原来我忘加了“;”了,不提示了 ...
lighttpd下rails FusionCharts图表 -
vickyxr:
大侠们,为啥这个图是横着的呀?
lighttpd下rails FusionCharts图表 -
vickyxr:
咦,教程里不是说如果有中文的话用setDataXML不行吗,要 ...
lighttpd下rails FusionCharts图表 -
vickyxr:
非常非常汗!原来我忘加了“;”了,不提示了,但是还是不能显示, ...
lighttpd下rails FusionCharts图表
根据探索和总结,发现在字符集的问题上,最终明智的做法是使操作系统、数据库、程序编码都采用utf8格式。而不要试图使其中的某一个改用GBK,否则会出现难于搭配配置的问题,后悔莫及。如果有的人愿意用gb2312的话,呵呵,真实应用起来就知道,我们中文文化博大精深,很多大字符集的字其实是我们需要用到的。
起初也是碰到问题,找了若干答案,最终解决办法如下:
1、确定mysql数据库编码是utf8
2、database.yml里面增加encoding: utf8
3、确定编辑器的保存文件格式为:UTF-8,保证rhtml文件编码是UTF-8,如果是radrails,点击项目,右键选择属性来设置。
其中,第1条的设置步骤:
1.1 如果是windows版本的mysql,那么在安装的时候,系统就会提示用哪种编码,设置好了,一劳永逸。
如果安装的时候设置错误了,修改mysql安装目录下的my.ini文件:
[mysql]
default-character-set=utf8
...
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8
配置好后,重启mysql。
1.2 如果是linux版本的mysql(我用centos5)
1.2.1首先要确保centos5以中文方式安装,我测试过先按英文方式安装,可后来怎么也配不上中文字符集。重新用中文方式安装,字符集都会自动加载了,免去很多烦恼。
如果不放心,确认一下:
vi /etc/sysconfig/i18n (确保其内容是这样的.)
LANG="zh_CN.UTF-8"
查看变量:env
export LANG=zh_CN.UTF-8
如果都是这样,就正确了!
1.2.2修改mysql的配置文件,使数据库与服务器操作系统的字符集设置一致。
vi /etc/my.cnf 设置(如果没有发现这个文件,就新建1个)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8 (增加的关键一句,使得数据库缺省以utf8存储)
当然,修改后,要重启数据库。
再次用mysql -u root -p命令进入数据库系统,用SHOW VARIABLES LIKE 'character_set_%';命令查看到如下内容:
+--------------------------+-----------------------------------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.1.20-beta-linux-i686-glibc23/share/mysql/charsets/ |
+--------------------------+-----------------------------------------------------------------------+
发现关键项目已经用了utf8,但这样还不够,还要保证客户端也是用utf8的字符集来操作的。
登录的时候,要用以下命令:mysql --default-character-set=utf8 -u root -p
再次用SHOW VARIABLES LIKE 'character_set_%';命令查看,结果变成了:
+--------------------------+-----------------------------------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.1.20-beta-linux-i686-glibc23/share/mysql/charsets/ |
+--------------------------+-----------------------------------------------------------------------+
这样才能保证客户端所发命令都是基于utf8格式的,比如说建立数据库和表,默认就会以utf8编码,而无须再次指定。
另外提一句,如果是jsp,页面定义成:<!---->就可以与数据库的utf8搭配了。而实验发现,如果改成:charset=utf8是有问题的。
评论
总结归纳,我转载了:
装confluence,使用mysql乱码,查出是mysql编码设置问题:
最终解决方案:
mysql UTF8设置:
vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8 (数据库缺省以utf8存储)
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
[client]
default-character-set=utf8 (客户端缺省以utf8存储)
重启mysql
登陆mysql,查看:
show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
今天总算看到了。以前我用mysql命令行,都是用一次在命令行里设置一次,汗!
谢谢
找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
修改好后,重新启动mysql 即可,查询一下show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
这样就不用每次连接 都使用 --default-character-set=utf8 了
发表评论
-
lighttpd下rails FusionCharts图表
2008-08-08 15:26 4358尝试使用open_flash_chart和FusionChar ... -
xp上rails1.2.6的stand-alone安装
2008-07-09 12:13 932 & ... -
利用数组和ajax实现单条翻动标题新闻
2008-01-24 15:50 1165ruby 1.8.6 rails 1.2.6 在视图文件/ ... -
《Programming Ruby》第二版应该阅读章节
2007-12-18 12:13 1177之前阅读过了《Web开发敏捷之道》第二版,再读这个《Progr ... -
关于进行程序测试安排的一点想法
2007-12-07 16:14 1163人们往往乐于发现别人编程的错误而害怕揭露自己所写的代码的问题。 ... -
《Web开发敏捷之道》2版 P547页上方问题
2007-12-06 16:51 988P546说在P547最上用的正则表达式,是为了只要用户的输入内 ... -
mysql5.1.21执行migrate处理中文有问题
2007-09-14 10:16 1310安装了mysql5.1.21,执行: db:migrate,其 ... -
P165 若没有一个用户时弹出注册框
2007-09-13 21:13 1208目标是当用户输入:http://localhost:3000/ ... -
P165 调整付账代码为一个action
2007-09-13 21:12 1165控制器store_controller.rb中,删除原save ... -
P145 将支付类型保存到数据库
2007-09-13 21:10 1236将007_create_pay_types.rb改造成: cl ... -
《Web开发敏捷之道》2版 P130 使购物车采购数量减1(Ajax实现)
2007-09-05 12:10 1249局部模板_cart_item.rhtml &l ... -
《Web开发敏捷之道》2版 P130使购物车采购数量减1(非Ajax方法实现)
2007-09-05 12:10 1693局部模板_cart_item.rhtml <% if c ... -
《Web开发敏捷之道》2版 P129 将清空购物车改为Ajax实现
2007-09-04 21:29 19691.将_cart.rhtml中"清空购物车" ... -
《Web开发敏捷之道》2版 P93 点击图片调用action的方法
2007-09-04 21:13 1515如果没有用Ajax方法,写法如下: <%=link_to ... -
《Web开发敏捷之道》2版 P112 计数器答案
2007-09-04 13:20 13761.定义一个模型:counter.rb class Coun ... -
Ruby中Tk的安装(for win)
2007-09-04 11:24 2931Ruby需要用Tk来创建GUI,tk的下载及安装步骤如下: 网 ... -
《Web开发敏捷之道》2版 9.4勘误(取消)
2007-09-02 18:58 2231本以为P124,9.4下的代码中,有两个地方要加@符号。 发 ...
相关推荐
在处理中文内容时,RoR可能遇到编码问题,比如UTF-8与GBK的转换,或者在显示和存储中文字符时出现问题。这个解决方案可能包含了特定的配置、插件或者代码调整,以确保RoR应用能正确地处理和显示中文。 描述中提到的...
5. **兼容性问题**:确保MySQL驱动与运行的Ruby版本和MySQL服务器版本相匹配非常重要,不兼容可能导致连接失败或运行时错误。因此,在使用这些gem之前,应确认它们与系统环境的兼容性。 6. **安全性与维护**:定期...
### Windows上搭建Ruby on Rails(ROR)环境详解 ...在实际开发过程中,可能会遇到更多具体的细节问题,建议及时查阅官方文档或其他开发者的经验分享,以便更好地解决问题。希望每位学习者都能顺利踏上Rails开发之旅!
在这个过程中,可能还会遇到如依赖库冲突、权限问题、数据库连接问题等挑战,需要根据具体情况解决。由于RHEL系统通常用于生产环境,因此安全性、稳定性和性能优化也是不可忽视的重要环节。在实际操作中,确保遵循...
RoR(Ruby on Rails)是一种流行的开源Web开发框架,以其高效和简洁的代码著称。然而,随着网站规模的增长,性能优化成为必不可少的环节。在本文中,我们将探讨一些RoR性能优化的关键方面,主要基于JavaEye网站在...
NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696
**Ruby on Rails(简称RoR)中文资料** Ruby on Rails(RoR)是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程,提高开发效率。RoR强调“约定优于配置”...
总结来说,Ruby on Rails提供了一种高效且优雅的Web开发方式,通过强大的工具和库,使得开发者能够专注于创新和解决问题,而非基础架构的搭建。对于初学者,深入理解Ruby语言和Rails框架的原理,掌握其核心概念和...
该模型解决了深度神经网络训练中的梯度消失问题,允许构建非常深的网络结构。而“Ror”(Residual-of-Residual)则是对ResNet的一种扩展,进一步优化了网络的性能,尤其在图像分类任务上表现突出。 **ResNet模型...
Ruby on Rails(简称RoR或Rails)是一种基于Ruby语言的开源Web应用框架,它遵循Model-View-Controller(MVC)架构模式,旨在提高开发效率并提供简洁、优雅的代码结构。"ror实例"可能指的是在学习或实践中,通过创建...
带有Google Vision集成的示例应用程序 Simple Images Vision应用查看器。 安装 请按照以下简单步骤安装和启动应用程序: 设置Rails应用 首先,安装应用程序所需的gems: bundle 接下来,安装前端依赖项: ...
Ruby on Rails(RoR)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程。在这个选题方向中,我们主要探讨的是与RoR相关的源代码分析和学习。源代码是...
在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...
基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。
ROR环境 Ruby version 1.9.3 (java) RubyGems version 1.8.24 Rack version 1.4 Rails version 3.2.12 JavaScript Runtime therubyrhino (Rhino) Active Record version 3.2.12 Action Pack version 3.2.12 ...
《机遇ROR的图书管理系统》是一份以Ruby on Rails(简称ROR)技术为核心,旨在构建高效、便捷的图书管理解决方案的学习资料。Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,它遵循MVC(Model-View-...
### ROR 文件的上传与下载:深入解析与实践 在Ruby on Rails(简称ROR)框架下,处理文件的上传与下载是一项常见的需求,尤其是在构建包含媒体内容的应用程序时。本文将基于给定的文件信息,详细阐述如何在Rails...