用SQL SERVER数据库连接RUBY ON RAILS解决乱码问题

   2023-02-08 学习力0
核心提示:这两天大家都为RUBY ON RAILS在浏览器页面上显示乱码而解决不了而烦恼,我也不例外,但经过参考“YUFAN,FIKKO,这个那个”等人的说法,我也得出了自己的方法,下面我就说说我的做法吧。目前很多人用的数据库都是MYSQL,而我用的是SQL SERVER2000。我认为MYSQL毕
这两天大家都为RUBY ON RAILS 在浏览器页面上显示乱码而解决不了而烦恼,我也不例外,但经过参考“YUFAN,FIKKO,这个那个”等人的说法,我也得出了自己的方法,下面我就说说 我的做法吧。目前很多人用的数据库都是MYSQL,而我用的是SQL SERVER 2000。我认为MYSQL毕竟是全英文的,用起来不是很习惯,我建议大家还是用SQL SERVER吧,以下我说的就是对应SQL SERVER来说的。
1. 首先,我们在SQL SERVER数据库里建立数据库,名为mybook.再建立表,表名为books(注意复数),好了,这样我们回到DOS命令窗口输入rails mybook回车,进入mybook目录下,输入如下命令:ruby script\generate controller book .回车. 再输入ruby script\generate model book回车.进入mybook\app\controllers目录下打开application.rb加入如下代码,具体如下:
class ApplicationController < ActionController::Base
before_filter :set_charset
def set_charset
@headers["Content-Type"] = "text/html; charset=GB2312"
end

end
2. 其次,进入mybook\app\views\layouts目录下打开admin.rhtml文件.加入如下代码,具体如下:
<head>
<meta http-equiv="content-type" content="text/html; charset=GB2312">
3. 返回DOS命令窗口在mybook目录下输入ruby script\generate scaffold book admin回车.
在浏览器里输入http://localhost:3000/admin. 结果怎么啊,是显示中文吧.

就这简简单单的几几代码已经解决问题了,你可以放心地在浏览器页面上输入中文,在数据库里显示的一样是中文,而在数据库里输入的中文在浏览器页面上显示的一样是中文,方便吧,这样既不用改哪个文件保存的编码为UTF-8,也不用作其它的修改就可如愿以偿了.
说到这里,可能你会问,那数据库又怎么样连接啊?不用急,如下:
1. 到Ruby 官方站点(http://rubyforge.org/frs/?group_id=234)下载ruby-dbi-all-0.0.23.tar.gz 压缩包。这个包主要包含了对各个数据库如Oracle 、Mysql、Sql Server等数据库的连接配置文件。
2. 下载完后解出文件。将解压出的文件夹\lib\dbd_ado\ADO.rb文件
拷贝到Ruby文件夹的C:/ruby/lib/ruby/site_ruby/1.8/DBD/ADO (本机的Ruby默认安装在C盘下)。

注意:ADO文件夹需要手工创建。

3. 进入你建的工程,在config文件夹中找到database.yml文件,用文本编辑器打开。可以看到它定义了三个部分:development , test , production。Rails考虑到一般的程序开发的三个环节,建立了相应的连接设置。在开发环境下,修改对应与development的内容:
development:
adapter : sqlserver
database: database_name

host : DBI:ADO:Provider=SQLOLEDB;Data Source=server_name;Initial Catalog=database_name;User Id=user_name;Password=your_pw_here;

username : user_name
password : your_pw_here

sqlserver 说明我们连接的是sqlserver数据库。
database_name 数据库名。这里改为自己的数据名。
server_name 数据库服务器的IP或机器名。改为自己要连接的数据库服务器的IP或机器名。
user_name 数据库用户登录名。改为自己要登录的数据库服务器用户名。
your_pw_here 数据库用户登录密码。改为自己要登录的数据库服务器密码。
具体例子如下,进入mybook\config目录下,找到database.yml文件.像这样设置:
development:
adapter: sqlserver
database: mybook
username: sa
host: DBI:ADO:Provider=SQLOLEDB;Data Source="127.0.0.1";Initial Catalog="mybook";User Id="sa";password="123";
password: 123

注意:(每个冒号:后面一定要对齐,要么空一格,要么不空)。
 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • [ruby on rails] 跟我学之(6)显示指定数据
    根据《[ruby on rails] 跟我学之路由映射》,我们知道,可以访问 GET    /posts/:id(.:format) 来显示具体的对象。 修改 app/controllers/posts_controller.rb的show这个action。这里有个难题,如果获取url里面的参数?可以通过params内置变量进行访问
    03-16
  • [ruby on rails] 跟我学之(10)数据输入验证
    这里简单加上几个验证,非空,最小长度,唯一修改app/models/post.rb文件,如下:class PostActiveRecord::Base#attr_accessible :title, :contentvalidates :title, :context, :presence = truevalidates :title, :length = { :minimum =2}validates :title,
    03-16
  • 我尝试使用 Ruby 和 mittsu 库制作 3D 战斗动作游戏
    我尝试使用 Ruby 和 mittsu 库制作 3D 战斗动作
    概述这篇文章是关于我偶然发现的 hitbox 的回忆录。2022 夏季鲁比训练营创造了这个游戏。我的游戏仓库这里是。我们作为一个团队开发,有 4 名成员第一次见面,并第一次使用 Git 和 Github 进行开发。使用的技术是Ruby,三通图书馆是。我主要负责碰撞检测,所
    03-16
  • 我只是想在我的 Mac 上将 Ruby 和 Rails 更新到终端中的最新版本。 .
    我只是想在我的 Mac 上将 Ruby 和 Rails 更新到
    介绍自从我尝试创建一个简单的应用程序以来已经有很长时间了,并且我尝试在创建它之前将 Ruby 和 Rails 更新到最新版本,但是我意外卡住了,所以我将它作为备忘录留下。作为版本升级1. 更新 Homebrew 和 rbenv2. 红宝石更新3. Rails 更新这就是它的感觉。让我
    03-16
  • ruby写爬虫 ruby python
    ruby写爬虫 ruby python
    http://www.javaeye.com/topic/545160爬虫性能比较http://www.rubyrailways.com/data-extraction-for-web-20-screen-scraping-in-rubyrails/srcapihttp://huacnlee.com/blog/ruby-scrapi-collect-koubei  2009年4月22日 星期三用ruby写的一个网络爬虫程序前
    03-08
  • 一个关于创建一个可以用 Ruby 做 UMAP 的 gem 的故事
    一个关于创建一个可以用 Ruby 做 UMAP 的 gem
    介绍统一流形逼近和投影 (UMAP) 是一种通过降维的可视化方法,通常与 t-SNE 一起使用。用 Ruby 语言执行机器学习时,瘤胃我认为有很多情况下你使用 gem 调用。瘤胃有t-SNE但不是UMAP。这一次,它是一个 C++ 库乌马普的红宝石绑定我创造了它,所以我会在我忘记
    03-08
  • 让我们制作一个应用程序,当您在表格①中输入名称时输出 PDF 戳记(使用 Ruby on Rails 创建 PDF 文件)
    让我们制作一个应用程序,当您在表格①中输入名
    介绍你好!我的名字是荣查本。这次在Ruby on Rails中实现PDF转换的时候,用到了一个叫Prawn的gem,所以总结了一下。您可以通过阅读本文创建フォームに名前を入力するとPDF化された印鑑を出力するアプリ。即使是我,一个初学者也可以做到,所以实现方法很简单
    03-08
  • [脚本_Ruby]Windows安装配置Ruby On Rails
    感觉Java学的差不多了,想接触下Ruby On Rails,看看它比Java WEB高效到哪里了,在Ubuntu12.10上弄了两天总是报错提示没有指向的文件sqlite3,不管怎么安装sqlite3都不行,到最后没办法只有跑到WIN7平台下试试,以下就是我搭建Ruby On Rails的过程:    
    02-10
  • Prawn:Ruby生成PDF更简捷的选择
    在InfoQ上看到《Prawn:使用Ruby生成PDF更简捷》,其说到的Prawn可以更加快捷的在Ruby中生成PDF文件。因为之前使用过很多版本的PDF生成类库都不尽如人意,有的太复杂,有的太慢,于是对这个做了测试。1、安装安装很简单,直接使用gem install prawn即可安装完
    02-10
  • Ruby On Rails:InstanRails
    参考数据:对于Ruby On Rails 不是粉清楚的朋友可以参考以下的连结信息,该连结网站都提供不错的Ruby On Rails 信息。Ruby: 一个纯OO的脚本语言..Ruby on Rails: 快速建置Web的MVC架构的Framework说明:整合环境: Instant Rails 是在Windows环境中,整合了Ruby,
    02-10
点击排行