问题环境:
os: windows XP
F:\>ruby -v
ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
F:\>rails -v
Rails 3.0.5
问题描述:
1、安装不了mysql2
rails3 默认使用mysql adapter是mysql2.
1) gem install mysql2
ERROR: Error installing mysql2:
The 'mysql2' native gem requires installed build tools.
Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
2) 安装DevKit 按照http://wuhuizhong.iteye.com/blog/875493
3)gem install mysql2
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
F:/Ruby192/bin/ruby.exe extconf.rb
checking for rb_thread_blocking_region()... yes
checking for main() in -llibmysql... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
4)这样问题就同 http://www.iteye.com/problems/49494
5)那就暂且使用mysql adapter吧
gemfile 中改为: gem 'mysql', '2.8.1'
2.incompatible character encodings: UTF-8 and ASCII-8BIT
当页面中写了中文之后,比如一个label, <%= f.label :title, '标题' %>
按错误信息google ,baidu了 n多,都没有解决。包括:
1) html.erb文件前加这一行:<%# encoding:utf-8 %> ,并保存成了utf-8格式(这一点是需要的)
2) http://www.iteye.com/topic/355909 这个第一点试过了,第二点找不到类似的文件
后来发现 new页面可以正常显示,edit页面报这个错,同是一个_form.html.erb
按一篇文章中说法,测试了下:
页面代码:
<td><%= blog.title.encoding %></td>
页面显示:ASCII-8BIT
说明:因为rails从数据库取出的中文默认编码是ASCII-8BIT,如果页面是UTF-8编码, concat就会出现这个错误。
要解决这个问题,就需要“数据库取出的中文 转为utf-8”. 找不到可用的资料。
解决
感谢QQ网友 寿司
告诉我windows下安装mysql2的命令:
gem install mysql2 -v 0.2.6 --platform x86-mingw32
成功安装了mysql2, 将gemfile中改为:gem 'mysql2', '0.2.6'
database.yml 中adapter 改回mysql2
再次测试:页面代码:<td><%= blog.title.encoding %></td>
result: UTF-8.
第2个问题也迎刃而解了。再次感谢 寿司。
补充:
看来mysql2 adapter还是有bug, 一个表有5列:
A: id B:string C:integer D:string E:string
从数据库查出,B列utf-8, 显示正常, D,E 却是ASCII-8BIT。
我重建了数据库表,调整了列的顺序,改为:
A: id B:string D:string E:string C:integer
从数据库查出,B,D列utf-8, 显示正常, E 还是ASCII-8BIT。
再重建一次,,改为:
A: id B:string D:string E:string C:integer
这次,从数据库查出,B,D,E列utf-8,都显示正常了
2011-04-17 补充:
今天遇到了这个错误:invalid date
http://hot88zh.iteye.com/blog/858300
按以上博文中的方法:复制Mysql5 server端的libmysql.dll文件,到Ruby安装目录下的bin文件夹中,即可解决~
之前使用mysql adapter时,ruby bin下的libmysql.dll 是一个早期版本,现在用mysql2 adapter,就需要用mysql 5 server下的libmysql.dll
分享到:
相关推荐
(2)安装Rails3 gem install rails (3)安装sqlite3 gem install sqlite3-ruby 安装sqlite3时候会提示你从链接中下载sqlite3.dll到ruby安装目录的bin文件夹下! (4)安装mysql gem install mysql2 创建项目: rails ...
If you’re ready to simplify and revitalize your complex Rails systems, you’re ready for Component-Based Rails Applications. Chapter 1 Introduction to Component-Based Rails Applications Chapter 2 ...
自述 此自述文件通常会记录启动和运行应用程序所需的任何步骤。 您可能想要涵盖的内容: Ruby版系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列、缓存服务器、搜索引擎等) 部署说明… 如果您不...
Rack::UTF8Sanitizer 是一个 Rack 中间件用来清理 URI 和 HTTP 请求头部中包含的无效 UTF-8 字符。Rails 的使用方法:config.middleware.insert 0, Rack::UTF8SanitizerRack 的使用方法:use Rack::UTF8Sanitizer
docker-rails6-mysql8 启动Rails设置 跑新轨道 $ docker-compose run web rails new . --force --no-deps --database=mysql --skip-test --webpacker docker镜像构建 $ docker-compose build 编辑database.yml ...
Rails::Rail::In rails-rail-in 用于查找印度铁路信息,例如火车列表、车站列表、路线、票价、PNR 状态、座位可用性等。 安装 要使用 Bundler 安装,请获取最新的稳定版本: gem 'rails-rail-in' , '~> 1.0.0' ...
SAF-Kotlin-Router ...早期参考了rails框架的router功能,它能够非常简单地实现app的应用内跳转,包括Activity之间、Fragment之间实现相互跳转,并传递参数。 本框架的saf-router-compiler、saf-router-annot
rails-angular-postgres-and-bootstrap-second-edition 英文原版
Rails Docker示例该应用程序的Docker设置来自以下: :入门要开始运行: docker-compose build 然后运行: docker-compose up 要连接到正在运行的应用程序容器,请运行: docker exec -it restarone_app /bin/sh 可以...
jasmine-jquery的Rails jasmine-jquery通过资产管道 安装 将此行添加到您的应用程序的Gemfile中: gem 'jasmine-jquery-rails' 然后执行: $ bundle 假设您使用的是茉莉花宝石,则在jasmine.yml中具有: src_...
NULL 博文链接:https://zyn-zyn.iteye.com/blog/1250429
CVE-2019-5418:CVE-2019-5418-Ruby on Rails上的文件内容披露
Rails-Mini-Social-Network用Rails创建的迷你社交网络! 不再维护。 其他版本React版本Vue版本Golang版本快速链接屏幕截图用法Scree Rails-Mini-Social-Network一个由Rails创建的迷你社交网络! 不再维护。 另一个...
CVE-2020-8163-在Rails中远程执行用户提供的本地名称的代码 在Rails <5.0.1中远程执行用户提供的本地名称 5.0.1之前的Rails版本中存在一个漏洞,该漏洞将允许攻击者控制render调用的locals参数。 已为该漏洞...
使用 RSpec 开发 Rails 应用程序 本教程适用于想要使用 RSpec 开发 rails 应用程序的用户。 参考这个 使用 导轨 4.0.4 Ruby 2.0.0 ... encoding : utf - 8 reconnect : false database : [ [ y
安装将此行添加到您的Gemfile : gem "d3-rails"请注意,D3通过资产管道提供,你不需要他们的文件复制到你的应用程序。 Rails将自动从d3-rails中获取它们。 然后将其添加到清单文件中,最有可能在app/assets/...
Rails 应用程序,展示了一些我们最喜欢的程序员。 登陆页面是所有程序员的索引,用户可以点击每个程序员来查看他或她的个人资料页面。 只有一个问题:视图加载了重复和笨重的迭代,并且可能需要进行一些严重的重构。...
webpack-rails-demo 该存储库演示了Rails 4.2应用程序中基本用法。 尽管它演示的WebPack护栏与链轮共存,链轮不需要或的WebPack护栏使用。 用法 git clone https://github.com/mipearson/webpack-rails-demo.git ...
1.将.rb文件和.rhtml文件都保存为utf-8格式; 2.在/app/Controller/application.rb中增加如下代码: ruby 代码 代码如下:before_filter :set_charset def set_charset headers[“Content-Type”] = “text/html; ...
1.安装gem,进入gem文件夹,里面有个setup文件,直接双击就行了。 2.进入rails目录使用gem命令安装(这一步必须要上...3.复制libmySQL.dll到ruby的安装目录的bin文件夹下,然后使用gem安装mysql-2.7.3-x86-mswin32.gem.