コンパイラかく語りき

import { Fun } from 'programming'

Railsでロシア語を表示させるまで(前編)

どうも!chuckです。

僕はいまRailsでロシア語単語帳を作っています。しかし、文字化けの問題にぶつかってしまいました。そう、日本語とおなじく、ロシア語もちょっと扱いにくい言語なのです(文字コード的な意味で)

 

chuckwebtips.hatenablog.com

 

 

ロシア語の文字にはキリル文字という名前がついています。ただしこのブログではロシア語と言ったりキリル文字と言ったりします。表記が統一していなくてスミマセン…。

 

HTMLで試してみる

そもそもロシア語をエディタで入力したことがなかったので、まずはそこから。

f:id:chuck0523:20150717221839p:plain

英語と日本語とロシア語を書いてみます。(それにしてもこのフォントでのキリル文字が可愛い!)

 

ブラウザで見てみるとこの通り。

f:id:chuck0523:20150717222214p:plain

見事に文字化けしてますね…。

 

文字コードを指定

今度はmetaタグで文字コードを指定してみます。

f:id:chuck0523:20150717222303p:plain

 

すると…

f:id:chuck0523:20150717222320p:plain

でましたー!安心のUTF-8ですねヽ(=´▽`=)ノ

 

unicodeでも試してみる。

f:id:chuck0523:20150717222337p:plain

 

f:id:chuck0523:20150717222355p:plain

でましたー!

 

あれ、uft-8とunicodeって何が違うんだっけ…??

 

equj65.net

調べたら素敵なサイトを発見。UTF-8使っていれば大丈夫かな??

 

ちなみにshift-jis

f:id:chuck0523:20150717222544p:plain

化けました。

 

 

Railsキリル文字

さて、問題のRailsです。「Rails 文字コード」などと検索。

設定ファイル(config) - - Railsドキュメント

こちらがヒット。気になる箇所をスクショ。

 

f:id:chuck0523:20150717222822p:plain

 

デフォルトは、「UTF-8」…あれ(´Д`;)??

 

ちなみに前回↓↓

f:id:chuck0523:20150717222942p:plain

----------

 

なんでだろーヽ(´Д`;)ノアゥア…

 

そっか!コンソールの問題だ

今回はrails cでコンソールを立ち上げています。コンソールからの入力によって、データを登録しようという試み。

問題はRailsそのものではなく、コンソールかもしれない!調べてみよう。

 

yamotonalds.hatenablog.com

あった。が、しかし、

 

readlineというものをインストールしてからrubyをインストールし直せば良いらしい。

えっ、Rubyのインストールとか。怖っ。

 

しかしQiitaでも。

qiita.com

おなじようなことが。

 

うーむ、思ったより根が深い…。でもやろう!

 

使われている読み取りファイルを切り替える

上のQiitaのサイトをまとめると、コンソールで文字を読み取るツールを切り替えなさいよと。そういうことらしいです。

 

ターミナルを駆け抜ける…!!

f:id:chuck0523:20150717230618p:plain

 

readlineはもう入っている!

f:id:chuck0523:20150717230656p:plain

 

Rubyの最深部まで来てしまった…(ゴクリ)

f:id:chuck0523:20150717230721p:plain

 

よし!切り替えるファイルのディレクトリは分かった!あとは切り替えコマンドを実行するのみ!

f:id:chuck0523:20150717230747p:plain

(エラーの嵐)

 

sudoで再挑戦!

f:id:chuck0523:20150717230826p:plain

通った…!!!これで、railsコンソールでロシア語が認識されるはず…!!

 

railsコンソール起動!!!

 

 

いざ!入力…!

 

 

f:id:chuck0523:20150717230918p:plain

はい、ダメーヽ(=´▽`=)ノ

 

 

 

心が折れたので(弱)、休憩にします。続きは後編で。