Railsで使えるGem

Rails4でOpenDocumentText(.odt)を作成~serenity(未完)

投稿日:

StackOverFlowでの質問に返事が来てたよ!ヽ(=´▽`=)ノ

stackoverflow.com/questions/13080178/encodingundefinedconversionerror-xe9-from-ascii-8bit-to-utf-8-when-using/15367479?noredirect=1#15367479

ということで早速やってみた

環境

Rails4

前提条件

 

次のようなテンプレートファイルをpublic/filesに配置

screenshot

controller

view

 結果

ケース1 フォント名が英語(MacのLibreOfficeでつくった)

screenshot

英語のバリュー OK!

日本語のバリュー OK!

テンプレートに日本語を含む NG↓

テンプレートに日本語を含む(gemを改造) NG↓

*gemを改造は2ヶ所 StackOvewFlowの回答部分とこちらのpull requestの分

template.rbはこんな感じになる

 

ケース2 フォント名が日本語(WindowsのLibreOfficeでつくった)

英語のバリュー NG↓

英語のバリュー(gemを改造) OK!

日本語のバリュー NG↓

テンプレートに日本語を含む NG↓

 

結論

serenityでマルチバイト文字をつかう場合は、1.フォント名などの設定につかう場合、2.テンプレートに代入する値としてマルチバイト文字をつかう場合、3.テンプレート本文にマルチバイト文字をつかう場合が想定される

binmodeにすると1の場合でマルチバイト文字を使ってもエラーが出なくなる

いずれにしても、3の場合ではエラーが出る

2の場合で日本語のバリューでもエラーが出るときがある理由がまだよくわからない

なんもかんも政治が悪い

-Railsで使えるGem
-

執筆者:

関連記事

CarrierWaveで添付したファイルをrroongaで全文検索

By: Alan Levine – CC BY 2.0 目次1 Carrierwave2 rroonga3 Gemfile4 application.rb5 config/initiali …

Backbone.jsで関連するモデルのREADとCREATE

By: woodleywonderworks – CC BY 2.0   ThoughtBotの本を読み進めてるけど私には買ってよかったと感じている ゾンビviewのワナを回避す …

Rails3.2でhtml5で取得した位置情報をAjaxで住所表示する~geocoder

    HTML5ではブラウザからユーザーのPCの位置情報を取得することができるGeoLocation APIというものがある (もちろんデフォルトではユーザーに確認をする設定にな …

Ruby on Rails 3.2でファイルアップロード〜CarrierWave & RMagick

By: Damian Gadal – CC BY 2.0 目次1 最初に2 Gemfile & bundle3 generate rb ファイル4 Modelに”ima …

no image

Rails3.2でテーブルの並び替えをリファクタリング~ヘルパー

環境 Rails3.2.8でテーブル並び替えのテストを作る~cucumberと正規表現 テストができたのでHelper化 目次1 現状2 helper3 index.html.erb 現状 共通部分が …