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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Q&A

解決済

3回答

1626閲覧

CentOSでUTF-8の機種依存文字を扱いたい

K.Kisaragi

総合スコア2

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

0グッド

0クリップ

投稿2022/06/12 08:45

前提・実現したいこと

機種依存文字(今回扱いたいのは♡です)をTeraTermにてviエディタで書き込むと?になってしまいます。
♡をきちんと入力・表示されるようにしたいです。
TwitterのBotを制作しており、そちらのツイート内容に♡を使いたいです。

発生している問題・エラーメッセージ

上記のとおりです。

自分で調べたことや試したこと

TeraTermを利用しているので、viエディタにて直接入力やPCのエディタからコピペは試しましたが無意味でした。入れた瞬間に?になります。
TeraTermのフォントはMS ゴシックにしています。
https://orange-factory.com/sample/utf8/code3/e2.html#Dingbats
上記のような記事もあるため文字コードを書けばいいんだろうかとも試したのですが、そもそもどれをどのように書けばいいのか分かりませんでした。
上手い調べ方が分からずすみません。

使っているツールのバージョンなど補足情報

Windows10
Tera Term Version 4.105
さくらVPS
CentOS7.9(日本語化済み)
Python3.6、UTF-8

VMWareで同じようにCentOS7.9を利用していた時は♡が入力できていました。

よろしくお願いいたします。

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

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

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

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

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

Zuishin

2022/06/12 09:20

vi で開いて「:set fenc?」と打ってみてください。 なんと表示されますか?
K.Kisaragi

2022/06/12 09:22

fileencoding=utf-8 です。
Zuishin

2022/06/12 10:27 編集

複数の OS と複数のツールをどのように連携させているのか、回答者が手元で問題を再現できるレベルで詳細に説明するよう、質問を編集してみてください。
guest

回答3

0

ベストアンサー

TeratermはUnicode文字に対応してないので、WindowsのシフトJIS(CP932)に無い文字は扱えません。
(Teraterm内部でのUTF-8→CP932の変換時に ? になる)

Rlogin等他のソフトを使いましょう。
https://ja.wikipedia.org/wiki/RLogin

投稿2022/06/12 11:31

otn

総合スコア84507

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

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

ikadzuchi

2022/06/12 14:39

複雑なんですが、最近は内部設計がUnicodeでないものの一応UTF-8は使えるらしいんですよ。
K.Kisaragi

2022/06/12 14:43

ikadzuchi様の > Language「Setup[設定]」→「General[全般]」→「Language[言語]」を "UTF-8"にする の方法は試しましたが今回は結果が変わらず、otn様に教えていただいたRloginというソフトですぐに解決したため、今回はotn様をベストアンサーにさせていただきました。 皆さんありがとうございました!
ikadzuchi

2022/06/12 16:24

> yasuko_pさん ありゃ、駄目でしたか。 個人的に気になるのでちょっと調べてみたいですね…。何か分かったら書くかもしれません。
guest

0

すぐに試せる環境が無いのですが、たぶん「Setup[設定]」→「General[全般]」→「Language[言語]」を "UTF-8"にするとよいです。

公式サイト

現状のTera Termは内部設計がUnicode対応になっておらず、 以下に示すように文字コードは二段変換になっています。

UTF-8 <-----> Unicode(UTF-16LE) <-----> MBCS
(1) (2)

(1)において、4.102から 4byte UTF-8 に対応したため、UTF-8のデコード時に Unicode の情報が欠落することはなくなりました。

(2)において、UnicodeとMBCS(Multiple Byte Character Set)の相互変換を行うために、 ロケール(言語指定)を正しく設定する必要があります。

とあり、UTF-8は使えるものの言語設定に依存してMBCSに変換されるものと思われます。

投稿2022/06/12 14:36

ikadzuchi

総合スコア3047

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

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

0

その機種依存文字を含んでいるフォントを使う必要があります
おそらくMSゴシックにはその文字のフォントが含まれていないんでしょう

投稿2022/06/12 08:48

y_waiwai

総合スコア87749

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

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

Zuishin

2022/06/12 09:01

「その文字」は「♡」です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問