Ruby On Rails + Oracle で日本語入力
ちょいと気が向いて、
Rails + Oracleをやってみような話。
プラットフォームはWindows
Oracle10gR2
基本は、US Oracle参考に後はSJIS使ったときの文字化け対策
http://www.oracle.com/technology/pub/articles/haefel-oracle-ruby.html
うまくいったの(書き込み、読み込み共に日本語うまく通った)
ので、忘れる前にメモ
rails 1.2.6前提(gem install rails --version 1.2.6)
ruby-ociは入ってること前提
上記URLのとおり、SQLPLUSでログイン
CREATE TABLE comics (
id NUMBER(10) NOT NULL,
title VARCHAR2(60),
issue NUMBER(4),
publisher VARCHAR2(60),
PRIMARY KEY (id)
);
CREATE SEQUENCE comics_seq;
ログアウトしたら、
コマンドプロンプトで
rails comics_catalog -d oracle
cd comics_catalogして
config/database.ymlを編集
adapterはoracleになってるので、そのまんま
databaseはTNSNAMES.oraにあるサービス(SID)名
で、scaffold
ruby script/generate scaffold Comic
あとは、文字化け対策
config/environment.rb
先頭に $KCODE = 's'
app/controllers/application.rb 以下追記
before_filter :set_charset
def set_charset
headers["Content-Type"] = "text/html; charset=Shift_JIS"
end
これでとりあえず、日本語を入れても文字化けされずに表示されるように。