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
-

執筆者:

関連記事

Rails3.2とBackbone.jsでGoogle CalendarライクなカレンダーにCRUD(後編)~fullcalendar-rails

目次1  前回2 UPDATE1~バグの訂正3 UPDATE2 ~ ドラッグとリサイズでデータ更新4 DELETE~イベントの削除5 バグがあった → 解決しました!6  herokuにサンプルアップ …

RailsでECサイト構築7 デプロイ~spree+apache2+passenger

  前提 Rails3.2のアプリをデプロイ~apache+passenger+postgresql Rails3.2+Apache2+Passenger環境でSSLを使ってみる &nbsp …

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

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

no image

Rails3.2でOpenDocumentText(.odt)を作成~serenity

  これも途中経過デス   odtはOpenOffice.orgのwriterなんかの保存形式 serenityはerbライクなodtテンプレートから変数を利用して文書を作成してく …

Ubuntu Server 12.04.1にいま流行のDiscourseをインストールしてみた

By: Wonderlane – CC BY 2.0 目次1 はじめに2 環境3 インストール4 情報 はじめに すでにGitHubのトレンドRepoでスター数がTwitterのFligh …