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

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

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

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

3回答

25206閲覧

ubuntuのcuiで文字化けします。

mint.cherry

総合スコア284

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

1クリップ

投稿2015/12/03 11:31

調べるものは調べましたm(__)m
fbtermは推奨されてないみたいなので使わないです。

環境:ubuntu15.10
質問:cuiの文字化けを日本語にしたい。

やったこと その1


apt-get -y install language-pack-ja*でパッケージを入れました。

既に最新が入っていますと言われました。

cat /usr/share/i18n/SUPPORTED |grep ja

ja_JP.UTF-8 UTF-8がサポートされていることを確認しました。

vi /etc/default/localeに以下のように記述

LANG=ja_JP.UTF-8 LANGUAGE=ja_JP:ja LC_ALL=ja_JP.UTF-8

source /etc/default/localeで適用

locate コマンドで適用されている確認

きちんと適用されてました。

適当にコマンド入力、英語のところもすべて■になって解消されませんでした。

rebootで再起動しても同じでした。
LANGUAGE=をコメント化(先頭に#)してもだめでした。

やったこと その2(1のあと)


vi ~/.bashrcで以下のように書きました。最後の行に追加

case $TERM in linux)LANG=C ;; *)LANG=ja_JP.UTF-8 ;; esac

source ~/.bashrcで適応

locateで変わったことを確認

適当に入力、1と同じ結果
rebootかけて適当に入力、今度は■ではなく変な文字列が。。。読めない

以上、解消文字化け方法があればお願いしますm(__)m

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

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

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

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

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

guest

回答3

0

ベストアンサー

「cui」が Linuxコンソール(/dev/tty1, TERM=linux)ということであれば、fbterm などを入れないと日本語は表示できないと思います。

投稿2015/12/03 14:30

TaichiYanagiya

総合スコア12141

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

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

mint.cherry

2015/12/04 02:32

回答ありがとうございます。 echo $TERMでlinux ttyで/dev/tty1 taichiさんの予想通りです。。。 その2でやった、$TERMがlinuxならcというcase文を書いています。。。 だから、cのほうが適応されたということかな?echo $TERMがlinuxでしたので。
TaichiYanagiya

2015/12/04 02:50

国際化された(gettext などを使用する)コマンドでは、環境変数 LANG や LC_* の値によって、出力するテキストを英語や日本語などに切り替えることができます。 Linuxコンソールの場合、日本語を表示できないので、TERM を見て強制的に LANG=C に設定しているのだと思います。ただし、コマンドによっては、LANG=C であっても、/etc/default/locale や /etc/sysconfig/i18n の設定を優先してしまうものもあります。 なお、もともと日本語の入ったテキストファイルを LANG=C で表示させても翻訳はしてくれません。
mint.cherry

2015/12/04 03:00

ためしてみました。 echo $LANGがc vi ~/bashrcを $TERMがlinuxの場合ja.UTF-8 *の場合c に変更してsource ~/.bashrc 適当に入力■■とでてきました。 linuxのほうを適用されました。
mint.cherry

2015/12/04 03:07

ちなっみに優先順位は ~/.bashrc >/etc/default/localeです。 sysconfigはありませんでした。
TaichiYanagiya

2015/12/04 03:10

現象がよくわかりません。画面のキャプチャ画像などはとれませんでしょうか。
mint.cherry

2015/12/04 03:23

ubuntuのPCでのGUIが処理があまりよくなく、画面キャプチャできませんm(__)m (ちなみに今触っているPCは別のPCです。) 本当に申し訳ないですm(__)m(汗)
guest

0

ターミナルを起動するとき、Alt-Ctrl-F1などのキーを押していますか?

もしそうであれば、TaichiYanagiyaさんがおっしゃっている通り、その画面で日本語表示はできないと思います。

Alt-Ctrl-Tで起動した、仮想ターミナルなら、適切な設定が行われていれば、日本語表示できると思います。GUIで動作するので、少し動作が重いのかもしれないですが・・・

動作の軽いAlt-Ctrl-F1で日本語表示させたいときは、fbtermなどの導入が必要になるようです。(これも、TaichiYanagiyaさんが既に回答されている通りですね)

投稿2015/12/07 04:58

Meganezaru

総合スコア715

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

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

0

対応方針そのものは間違っていないと思いますが、環境変数の指定方法が違います、多分。

bashならば export しないと環境変数になりません。それと、設定する変数の種類が足りないと思います。

下記をご参考になさってください。
Ubuntuの英語環境をCUIにて日本語対応にする
仮想コンソールの文字化け回避

なお、設定内容の細かい部分は、ご自身の環境に合わせて適宜修正してください。

投稿2015/12/03 14:23

pi-chan

総合スコア5936

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

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

mint.cherry

2015/12/04 02:13

回答ありがとうございます。 2つのリンク先のページは既に試していますが適応されませんでした。。 ~/.bashrcはPCやterminal起動時に実行されるみたいですね。 ここにいろいろなコマンドを書けばその時に実行されるみたいなのかな? だとすればリンク先のやっていることを普通のコマンドで、 export LC_ALL=ja_JP.UTF-8 export LANG=ja_JP.UTF-8 (LC_ALLはすべてのLCに一括で適応されるみたいです) とやっているのと同じなんですかね。。。 おそらく起動時にこのコマンドを自動的にやってくれているみたいな感じと捉えますm(__)m 2つめ(後方)のリンク先なのですが、言語がよくわかりません。。。 caseでlinuxの場合c。「*」印(それ以外?)はja_JP.UTF-8。と解釈しますm(__)m linuxの場合?って感じになってしまってます(汗)
mint.cherry

2015/12/04 03:13 編集

いろいろ触ってたら、理解しました。 echo $TERM linux case文でlinuxのほうが適応されていました。その2ですと、LANG=Cが適応されますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問