質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

1809閲覧

Gviz,Graphvizにて日本語表示されず

space-hippy

総合スコア136

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2018/05/15 11:08

編集2018/05/15 13:38

dot言語

digraph G {
node[fontname="MS UI GOTHIC",charset="UTF-8"];
28[shape="Mrecord",label="{スズキ | a}"];
54[shape="Mrecord",label="{佐藤 | c}"];
65[shape="Mrecord",label="{yamada | f}"];
66[shape="Mrecord",label="{yamaguchi | g}"];
55[shape="Mrecord",label="{ito | b}"];
68[shape="Mrecord",label="{yamamoto | h}"];
69[shape="Mrecord",label="{小林 | こば}"];
70[shape="Mrecord",label="{c | c}"];
28 -> 54;
54 -> 65;
54 -> 66;
28 -> 55;
55 -> 68;
28 -> 69;
69 -> 70;
}
追記
何とかこのように出力させるところまで漕ぎつきましたが、それでも文字化けは解消しません

はじめまして! cloud9上でRailsでGvizを使った描画をするアプリケーションを作ったのですが、 どうしても日本語だけうまく表示できません! ネット上でうまくできているソースコードをコピーしても自分の環境では 日本語が表示されません。空白ではなく、無です エラーや文字化けでもなく、 とにかく表示なしです Railsのコントローラーに上記処理を記述しているんですが、上記のように 他のソースで試してみても同様の症状ですので、Gvizの文法というより Graphvizに問題がある様なのですが、再インストールしたりして見てもうまくいかないので 困っています どなたか、お力添えいただけないでしょうか? ### 発生している問題・エラーメッセージ エラーなし、ただ日本語だけ表示されず ### 該当のソースコード ```Ruby on Rails parts_controllerのprintアクション def print @part = current_user.parts.find_by(id: params[:id]) gv=Gviz.new def mapping(own, map) if own.relatings.exists? own.relatings.each do |child| map.graph do nodes fontname:'MS UI GOTHIC' route own.id => child.id node :"#{own.id}", shape:'Mrecord', label: "{#{own.title} | #{own.content}}" node :"#{child.id}", shape:'Mrecord', label: "{#{child.title} | #{child.content}}" end mapping(child,map) end else parent = own.relateds.first map.graph do nodes fontname:'MS UI GOTHIC' route parent.id => own.id node :"#{parent.id}", shape:'Mrecord', label: "{#{parent.title} | #{parent.content}}" node :"#{own.id}", shape:'Mrecord', label: "{#{own.title} | #{own.content}}" end end end mapping(@part,gv) filename = 'test' + @part.id.to_s gv.save('public/' + filename, :png) img = Cloudinary::Uploader.upload('public/' + filename + '.png', :public_id => 'test_remote') @ver = img["version"] Rails.logger.info("バージョン#{@ver}") end

試したこと

UTF-8の記載、フォント指定、graphvizアンインストール、再インストール

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2018/05/15 11:47

dotファイルもUTF-8になっていますか? "ABCは英語、123は数字"のように日本語とASCII文字が混在した文字列を表示させると、日本語の部分だけが表示されなくて"ABC123"のようになるのですか?
space-hippy

2018/05/15 12:32

ご回答ありがとうございます!まず、ASCIIと日本語混在の様な表示はさせておりません(^^)/ dotファイルもUTF-8!なるほど!しかし、アプリケーション内でgemのGvizの機能で新たにdotファイルを生成していく仕様ですので、それをGvizの記述でどのように表現したらよいでしょうか?
can110

2018/05/15 13:22

「MS UI GOTHIC」はインストールされていますか?
space-hippy

2018/05/15 13:24

インストールしていませんでした!しかし、なぜか半角英字だけはフォント変わるんですよ!試してみます!
space-hippy

2018/05/15 13:39

書いたつもりがうまく反映されていなくて(・_・;)cloud9にフォントをインストールする方法が見つからず、どなたか教えていただけますでしょうか?度重なる質問すみません!
can110

2018/05/15 13:49

このあたりかなぁ?環境ないので試せず回答まではできませんが→https://qiita.com/kazuma1989/items/ba96478e6d708aafd818#install-a-japanese-font
coco_bauer

2018/05/15 13:51

Gvizのrubyファイルの最初に"# encoding: UTF-8"と書いて、rubyファイルのエンコーディングもUTF-8にしておけば、dotファイルもUTF-8になるんじゃないかなぁ、、
space-hippy

2018/05/15 14:09

coco_bauerさん、can110さん、ありがとうございます!無事解決できました! UTF-8の記載は、cocoさんご指摘後の記述で良かったみたいです! canさんにおっしゃっていただいて、使えるフォントを探したら、IPA-Gothicがあり、ちゃんと使え、 一応は日本語表示できました!しかし、やはり一部だけなぜか日本語表記すると全く使えない 状態でして、よく考えたら、 label: "{#{child.title} | #{child.content}}" この記述の、child.titleの部分のように、ラベルの一番先頭の要素だけ、バリデーションみたいに 日本語を受け付けないみたいなんです!仕様をきちんと読み切っていなかったので、詳しくはわかりません でしたが、 label: "{#{child.id} | #{child.title} | #{child.content}}"この様に、最初の 一つ目をidの様な数字列にして漢字は二つ目以降にすることにより、思ったように表示できました! お二人共のご返答が大変参考になりました! ありがとうございました!
can110

2018/05/15 14:50

先頭要素の挙動は不可解ですが、解決されたようで良かったです(^^)
space-hippy

2018/05/15 15:43

確かにそうですね(-_-;)文献がGvizに関してはあまり充実していないので、英文の原文も見てよく吟味してみます!
guest

回答1

0

自己解決

コメントいただいた方々のおかげで、解決いたしました!詳しくはコメント欄ご覧ください!

投稿2018/05/15 15:57

space-hippy

総合スコア136

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問