# Unicode設定

UTF-8化を行うには、Tera Termの「Setup[設定]」メニューから「General[全般]」 を選び、「Language[言語]」を "UTF-8", "Japanese" および "Korean" のいずれかへ変更します。

Language 設定が UTF-8 の時は Japanese に比べて以下の機能を使わなく(使えなく)なります。

- JIS, EUC, SJIS 等の UTF-8 以外の文字コード
- ISO/IEC 2022での日本語文字セットの指示
- TTXKanjiMenu プラグイン

Languageに "Japanese" と "Korean" のいずれかを選んだ場合、次に「Setup[全般]」 メニューから「Terminal[端末]」を選択すると出る "Terminal setup[端末の設定]" ダイアログの「Kanji(receive)[漢字-受信]」および「Kanji(transmit)[漢字-送信]」 にて、"UTF-8" を選んでください。Tera Termの再起動は必要ありません。
コマンドラインの「/KT」および「/KR」オプションにおいて、"UTF8" を指定すると、 送信および受信コードに UTF-8 を設定することができます。

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

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

(1)において、4.102から 4byte UTF-8 に対応したため、UTF-8のデコード時に Unicode の情報が欠落することはなくなりました。
漢字コード(受信) に UTF-8m が選択されていると結合文字(combining character)の処理が一部が行われます。Mac OS X(HFS+)を考慮したものとなっ ています。
(2)において、UnicodeとMBCS(Multiple Byte Character Set)の相互変換を行うために、 ロケール(言語指定)を正しく設定する必要があります。

Unicodeによるローカライズ言語を扱えるようにするためには、teraterm.iniファイルにロケールの設定が必要となります。下記にサンプルを示します。

    ; Locale for Unicode
    Locale = japanese

この設定は、"Terminal setup[端末の設定]" ダイアログの 「Locale[ロケール]」でも設定できます。

ロケールに設定できる内容については、下記のサイトを参照してください。

- Language Strings

#### 設定例: WindowsXP 簡体字中国語

- Setup -> Terminal で locale=chs に設定する
- Setup -> Font で フォント名=NSimSun, 文字セット=CHINESE_GB2312, サイズ=9 に設定する。

#### 設定例: WindowsXP 米国

    ; Locale for Unicode
    Locale = american

また、MBCSを表示する為にフォントを正しく設定する必要があります。
「Setup[設定]」メニューの「Font[フォント]」で、"フォント"に使用する言語の文字が 扱えるフォントを、"文字セット" に使用する言語の文字セットを指定してください。
ロケールおよびフォントが正しく設定されていれば、英語版Windowsで日本語を表示したり、 日本語版Windowsで韓国語を表示したりする事も可能です。
ただし多言語対応していないので、一つのTera Termウィンドウで日本語と韓国語を同時に 表示したりする事は出来ません。

### ※注意: Mac OS X

"UTF-8m" はMac OS X(HFS+)向けのエンコーディング指定です。受信のみのサポートです。
「/KR」コマンドラインでは"UTF8m"を指定することができます。

### 参考: Language Strings for Locale

Primary language | Sublanguage | Language string
--- | --- | ---
Chinese | Chinese | "chinese"
Chinese | Chinese (simplified) | "chinese-simplified" or "chs"
Chinese | Chinese (traditional) | "chinese-traditional" or "cht"
Czech | Czech | "csy" or "czech"
Danish | Danish | "dan" or "danish"
Dutch | Dutch (default) | "dutch" or "nld"
Dutch | Dutch (Belgium) | "belgian", "dutch-belgian", or "nlb"
English | English (default) | "english"
English | English (Australia) | "australian", "ena", or "english-aus"
English | English (Canada) | "canadian", "enc", or "english-can"
English | English (New Zealand) | "english-nz" or "enz"
English | English (United Kingdom) | "eng", "english-uk", or "uk"
English | English (United States) | "american", "american english", "american-english", "english-american", "english-us", "english-usa", "enu", "us", or "usa"
Finnish | Finnish | "fin" or "finnish"
French | French (default) | "fra" or "french"
French | French (Belgium) | "frb" or "french-belgian"
French | French (Canada) | "frc" or "french-canadian"
French | French (Switzerland) | "french-swiss" or "frs"
German | German (default) | "deu" or "german"
German | German (Austria) | "dea" or "german-austrian"
German | German (Switzerland) | "des", "german-swiss", or "swiss"
Greek | Greek | "ell" or "greek"
Hungarian | Hungarian | "hun" or "hungarian"
Icelandic | Icelandic | "icelandic" or "isl"
Italian | Italian (default) | "ita" or "italian"
Italian | Italian (Switzerland) | "italian-swiss" or "its"
Japanese | Japanese | "japanese" or "jpn"
Korean | Korean | "kor" or "korean"
Norwegian | Norwegian (default) | "norwegian"
Norwegian | Norwegian (Bokmal) | "nor" or "norwegian-bokmal"
Norwegian | Norwegian (Nynorsk) | "non" or "norwegian-nynorsk"
Polish | Polish | "plk" or "polish"
Portuguese | Portuguese (default) | "portuguese" or "ptg"
Portuguese | Portuguese (Brazil) | "portuguese-brazilian" or "ptb"
Russian | Russian (default) | "rus" or "russian"
Slovak | Slovak | "sky" or "slovak"
Spanish | Spanish (default) | "esp" or "spanish"
Spanish | Spanish (Mexico) | "esm" or "spanish-mexican"
Spanish | Spanish (Modern) | "esn" or "spanish-modern"
Swedish | Swedish | "sve" or "swedish"
Turkish | Turkish | "trk" or "turkish"