人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Railsの日本語処理に関する問題です。
salesforceと連携してアプリケーションを作ったのですが、うまく日本語表示ができません。
Rails上のアプリからブラウザを使って追加と編集を日本語で行うと、salesforce上のデータベースには日本語で反映されるのですが、それをRails上で取得してブラウザで該当の文字を確認すると、代わりにコード(?)が表示され、日本語が正しく表示されません。具体的な解決方法をご教授下さい。ちなみに、英数は正しく表示されます。また、salesforceを使わずに一般的なRailsのアプリケーションを作成した場合は、日本語・英数共に正しく表示されます。

■環境
rails 2.3.8
ruby 1.8.7
mac os x 10.6.8

■表示される日本語とコードの関係
鈴木→\351\210\264\346\234\250
一郎→\344\270\200\351\203\216
あ→\343\201\202
い→\343\201\204

●質問者: ぷりっぷりのおしり
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● techmedia-think
●75ポイント ベストアンサー

salesforceとRailsのアプリで使用している文字コードが違っているのでは無いでしょうか?まずそれぞれで使用している文字コードが何か確認すると良いかと思います。

◎質問者からの返答

回答ありがとうございます。

下記のいずれかなのかなーと想像しています。参考:http://goo.gl/Ypn90

1.utf-8の8進数表記のデコードに失敗している

2.デコードした結果、なぜかutf-8の8進数表記になっている

1番の可能性の方が高そうです。Railsにおけるutf-8の8進数のデコードの方法がわかれば解決しそうな気がしています。

salesforceの資料を軽くあさってみましたが特に書いていなかったので、休み明けにsalesforceに問い合わせて聞いてみます。

もし何かわかるようでしたら、教えて頂けると幸いです。


2 ● techmedia-think
●75ポイント

saleseforceの連携方法について詳しくないのですが、Railsのアプリからどのようにして連携されているのか(コードのサンプルなど)記載して頂くことは可能ですか?

◎質問者からの返答

回答ありがとうございます。


3 ● techmedia-think
●75ポイント

以下の記事では、force.comのRubyのツールキットをマルチバイトで利用する際にenvironment.rbに「Encoding.default_external='UTF-8'」の指定が必要とありますが、これが関係していたりしないでしょうか?

http://blogjp.sforce.com/2010/12/forcecomruby-on.html

◎質問者からの返答

回答ありがとうございます。

記事に従い、environment.rbの行末にEncoding.default_external='UTF-8'を加えましたが、Name errorとなりました。


4 ● ペッタン
●75ポイント

登録コードの確認やPCの再起動をしてみてはどうでしょうか?

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ