learn-ruby-in-kansai:2505
From: Mark Burns <markburnsemail@g...>
Date: Wed, 8 Feb 2012 11:54:10 +0900
Subject: [learn-ruby-in-kansai:2505] Re: ruby1.9.2 rails3.1.3 incompatible character encodings について
いいえ、いいえ。解決できてよかったです。 私もそれを見たことがなくて勉強になります。 mitumori_noはなんのタイプですか?text? それなら0は自動にASCII Stringに変更されているは理由だと思います。 ちなみにインスタンス変数やグローバル変数はこれができますよ: "#@something" "#$globals_are_evil" {}は必要はありません。 On 8 February 2012 09:43, 隆雄 中田 <acnakada@m...> wrote: > マークさん > > ありがとうございました。 > 結論から申し上げますと、解決できました。 > > 検索をするところ > @items = Item.where('name like ? AND mitumori_no > ?', "%#{@searchtext}%", > 0).order('name ASC')を > @items = Item.where('name like? AND mitumori_no !=?',"%#{@searchtext}%", > "").order('name ASC')に > と直したら > ActionView::Template::Error (incompatible character encodings: ASCII-8BIT > and UTF-8):が > でなくなりました。 > 理由はまだよく理解できていませんが(今から調べたいとおもいます) > > とりあえず、今回のエラーは解決できました。 > > マークさんには大変お手数をおかけ致しました。 > 感謝です。 > > acnakada > > > On 2012/02/07, at 19:21, Mark Burns wrote: > > もしかしてja.ymlのencoding自体ですか? > > On 7 February 2012 19:10, Mark Burns <markburnsemail@g...> wrote: > >> 毎回サーバーを再開しているんでしょうか? >> その以外私にはちょっと不思議です。私立プロジェクトですか? >> >> このリストの他の方はおすすめがありますか? >> >> 解決がなかったら簡単なgithub例プロジェクトを作れますか? >> >> >> >> On 7 February 2012 18:35, 隆雄 中田 <acnakada@m...> wrote: >> >>> config/application.rbはこのラインがありますか? >>> >>> config.encoding = "utf-8" >>> >>> はい、あります。 >>> >>> それが動けなかったらこれも足してみて下さい: >>> >>> Encoding.default_external = Encoding::UTF_8Encoding.default_internal = Encoding::UTF_8 >>> >>> >>> やってみましたが、変化ありません。 >>> >>> >>> On 2012/02/07, at 18:26, Mark Burns wrote: >>> >>> >>> >>> On 7 February 2012 18:05, 隆雄 中田 <acnakada@m...> wrote: >>> >>>> マークさん >>>> ありがとうございます >>>> ----------------------------------------------- >>>> database.yml >>>> ---------------------------------------------- >>>> >>>> development: >>>> adapter: sqlite3 >>>> database: db/development.sqlite3 >>>> pool: 5 >>>> timeout: 5000 >>>> >>>> ----------------------------------------------- >>>> Gemfile >>>> ---------------------------------------------- >>>> >>>> source 'http://rubygems.org' >>>> >>>> gem 'rails', '3.1.3' >>>> >>>> # Bundle edge Rails instead: >>>> # gem 'rails', :git => 'git://github.com/rails/rails.git' >>>> >>>> gem 'sqlite3' >>>> >>>> >>>> # Gems used only for assets and not required >>>> # in production environments by default. >>>> group :assets do >>>> gem 'sass-rails', '~> 3.1.5' >>>> gem 'coffee-rails', '~> 3.1.1' >>>> gem 'uglifier', '>= 1.0.3' >>>> end >>>> >>>> gem 'jquery-rails' >>>> >>>> #gem 'kaminari' >>>> gem 'will_paginate', '~> 3.0' >>>> >>>> # To use ActiveModel has_secure_password >>>> # gem 'bcrypt-ruby', '~> 3.0.0' >>>> >>>> # Use unicorn as the web server >>>> # gem 'unicorn' >>>> >>>> # Deploy with Capistrano >>>> # gem 'capistrano' >>>> >>>> # To use debugger >>>> # gem 'ruby-debug19', :require => 'ruby-debug' >>>> >>>> group :test do >>>> # Pretty printed test output >>>> gem 'turn', '0.8.2', :require => false >>>> end >>>> >>>> group :development do >>>> gem "i18n_generators" >>>> end >>>> >>>> よろしくお願いします。 >>>> >>>> On 2012/02/07, at 16:44, Mark Burns wrote: >>>> >>>> 多分私は日本語が分かっていませんけど大体そのEncodingの問題が会ったときに >>>> DBドラーバーの原因でした。だからproperties.ymlとGemfileを見たかったです。 >>>> パッチはなんのパッチですか?ルビーのパッチですか? >>>> それならもっと簡単な解決があると思います。 >>>> >>>> On 7 February 2012 14:04, 隆雄 中田 <acnakada@m...> wrote: >>>> >>>>> マークさん >>>>> 早速ありがとうございます。 >>>>> >>>>> Ruby1.9 から String に Encoding を持つようになり >>>>> これにより異なる Encoding 同士では、比較・結合を行うことができ >>>>> incompatible character encodings: UTF-8 and ASCII-8B >>>>> incompatible character encodings: ASCII-8BIT and UTF-8 >>>>> というエラーがおきるといわれています。 >>>>> >>>>> これは、Magic Comment で script encoding をUTF-8で指定しても >>>>> DB の Encode を UTF-8 に指定しても発生しているようです。 >>>>> >>>>> パッチなどで対策がとれるようですが >>>>> すでにパッチで対策済みでございましたら >>>>> ぜひ教えてください。 >>>>> >>>>> >>>>> On 2012/02/07, at 12:33, Mark Burns wrote: >>>>> >>>>> acknadaさん >>>>> マークです >>>>> >>>>> もしかしてdatabase.ymlの設定ですか?Gemfileとdatabase.ymlを見せてくれませんか? >>>>> 例えば間違えたドライバー名前ですか? >>>>> >>>>> >>>>> On 7 February 2012 11:34, 隆雄 中田 <acnakada@m...> wrote: >>>>> >>>>>> acnakadaです >>>>>> >>>>>> Mac lion >>>>>> ruby1.9.2 >>>>>> rails3.1.3 >>>>>> sqlite3 (SQLite version 3.7.10) >>>>>> rvm 1.10.2 >>>>>> >>>>>> rubyを1.8.7から1.9.2に変えたら >>>>>> incompatible character encodings: ASCII-8BIT and UTF-8 >>>>>> incompatible character encodings: UTF-8 and ASCII-8BIT >>>>>> に出会いました。 >>>>>> >>>>>> 対策としてパッチなどの対策がblogなどに紹介されていますが >>>>>> 今ひとつ理解ができていません。 >>>>>> >>>>>> rails2などの事例は具体的にありましたがrails3.1.3のものは >>>>>> 見つかりませんでした。 >>>>>> >>>>>> 対策の方法など教えてください。 >>>>>> よろしくお願いします。 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> > >
@ 2494 2012-02-07 03:34 [acnakada@m... ] ruby1.9.2 rails3.1.3 incompatible character encodings について @ 2495 2012-02-07 04:33 ┗[markburnsemail@g... ] @ 2496 2012-02-07 06:04 ┗[acnakada@m... ] @ 2497 2012-02-07 08:44 ┗[markburnsemail@g... ] @ 2498 2012-02-07 10:05 ┗[acnakada@m... ] @ 2499 2012-02-07 10:26 ┗[markburnsemail@g... ] @ 2500 2012-02-07 10:35 ┗[acnakada@m... ] @ 2501 2012-02-07 11:10 ┣[markburnsemail@g... ] @ 2502 2012-02-07 11:21 ┃┗[markburnsemail@g... ] @ 2504 2012-02-08 01:43 ┃ ┗[acnakada@m... ] -> @ 2505 2012-02-08 03:54 ┃ ┗[markburnsemail@g... ] 2503 2012-02-07 14:24 ┗[okkez000@g... ]