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でHTML5で取得した位置情報をMongoDBに保存してGoogleMapsでみる~mongoid、gmaps4rails

前提 Rails3.2でhtml5で取得した位置情報をAjaxで住所表示する~geocoder 目次1 Mongoid2 スケルトンを作る3 Gmap4railsのインストール4 とりあえず地図を表示 …

状況に応じてRailsのフォームの種類を変える

  前提 railsでdocxを生成する動画 docxを生成するアプリは変数を自動で読み込むけど、状況に応じてフォームの種類を変えたい. Railsでは変数に応じてフォームの種類を用意してい …

Rails3.2でページネーションをTwitter Bootstrapに対応させる~kaminari

github.com/amatsuda/kaminari 目次1 Gemfile & bundle2 設置3 テーマの作成 Gemfile & bundle [crayon-5a5df …

no image

RubyでDocxを分解してみた~Nokogiri::XML::SAX

    参照 Rubyでdocxをいろいろ分析してみた 今度はsaxのアプローチでdocxのword/document.xmlを分解してみた 使い方は、Nokogiri::XML: …

Railsでデータベーススキーマの変更と関連するモデルのフォーム

  gemを公開しました!詳細は記事の最後に!   新規投稿するフォームのラベルが変数を使っていて見苦しいので自分で好きなラベルを付けられるようにした いまのスキーマはこんな感じな …