Archive for July, 2009

[MobileOnRails] 静的ファイルの場合、Docomoスタイルシートがきかない。

Monday, July 27th, 2009

Rails上で直接htmlファイルを置いてみるとdocomoのスタイルシートがきかない。
ヘッダーとかの設定はもちろんしてあって、試しにそのhtmlファイルを他のサーバーに移動するとスタイルが正しく反映される。
Rails経由で表示した場合も正しく表示されるので、html直接みる場合はRailsが何かを邪魔しているみたいです。
何かっていうかhtaccessのaddTypeが反映されていないっぽいですが、、

といことでpassengerの設定で特定のディレクトリの場合だけpassengerをoffにすることに。

以下の要領で、PassengerEnableをoffに設定

無事、うごきました。

[Jquery] Sortable

Monday, July 27th, 2009

JqueryのSortableのまとめ。

[Mobile] firemobilesimulator

Wednesday, July 8th, 2009

携帯端末検証に今まではFireFoxのAddonでUserAgentSwicherを使ってましたが、
MobileSimulatorたるAddonを発見。

なかなか便利そうです。

http://firemobilesimulator.org/

[Ruby1.9 on Rails] マルチバイト文字列でエラー : incompatible character encodings: UTF-8 and ASCII-8BIT

Tuesday, July 7th, 2009

前回の続き
http://b.ruyaka.com/2009/07/06/ruby19-gem-install-mysql-ではまる/

なんかgem install mysqlでMySQL/Rubyはインスートルできたんですが、
どうやらMySQL/Rubyがruby1.9の「M17N」に対応していない模様。
おかげて、データベースから取り出した文字列は全て「ASCII-8BIT」になってしまいます。

マルチバイト文字列を入れるとASCII-8BITとUTF-8がぶつかりエラーが発生します。
「incompatible character encodings: UTF-8 and ASCII-8BIT」

ほんと困りました。

調べてみたところ解決方法は2通り発見。

① MySQL/Rubyではなく、M17Nに対応しているRuby/MySQLを入れる (ややこしい)
② Rails上で「force_encoding(”UTF-8″)」で無理やり「UTF-8」に変更する。

①の「Ruby/MySQL」はtmtmsさんが作成してくれてました。
RubyコンパイルされているRuby/MySQL 3.0.0がでています。
ただ、アルファ版というのと、いくつか不安な部分もあったので今回は②番で対応することに。

②の変更点
ちょっと強引ですが、read_attributesの部分で文字列がきたら強制的に「UTF-8」になるように変更。
一応これでエラーはでなくなりました。

上記はActiveRecord周りの文字コードの対応ですが、
テンプレートのほうも対応するようにしてあげる必要があるようです。

vendor/rails/actionpack/lib/action_view/renderable.rb: 69行目

これでなんとか対応完了。
かなり強引ですが、他もっと簡単なやり方があると教えていただけると助かります。

以下、参考サイト
http://groups.google.co.jp/group/rubyonrails-talk/browse_thread/thread/45cf95921c8fe21f
http://74.125.155.132/search?q=cache:LMULoqmE-SMJ:d.hatena.ne.jp/tmtms/20090201/1233499176+%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%8B%E3%82%89%E5%8F%96%E3%82%8A%E5%87%BA%E3%81%97%E3%81%9F%E6%96%87%E5%AD%97%E5%88%97%E3%81%AF%E3%80%81%E5%85%A8%E9%83%A8+ASCII-8BIT+%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99&cd=2&hl=ja&ct=clnk&gl=jp&lr=lang_ja&client=firefox-a
http://e-words.jp/w/M17N.html
http://d.hatena.ne.jp/tmtms/20090322/1237719050
http://d.hatena.ne.jp/xibbar/20090126/1232946944
http://qwik.jp/asakusarb/56.html

[Ruby1.9] gem install mysql ではまる

Monday, July 6th, 2009

そろそろ各ライブラリも1.9に対応してきたので。rails開発もruby1.8から1.9に移行。
今までのテストでも処理によるけど確実に2倍以上は早くなっている。
このまま1.8だとなにかと不安です。
ruby1.9・rubygems・railsなどのインストールは順調に進んだが、mysqlのインストールではまる。


結論から言うと、
  「gemでインストールされるmysqlのバージョンが古いまま」
なのが原因でした。

なので1.9の場合は、直接本家にインストールしてあげる必要があるそうです。

エラー内容

以下、実行すれば解決。