web-dev-qa-db-ja.com

LinuxでWindows7からPuTTYを介してUTF-8を使用するにはどうすればよいですか?

Windows 7でPuTTYを使用して、Ubuntu10.10でLinuxマシンにアクセスします。 Windows7はLatin-1を使用していると思います。しかし、LinuxマシンとPostgreSQLデータベースでUTF-8を使用する必要があります。

PuTTYでこれを行うにはどうすればよいですか?

4
Jonas

接続時に構成ダイアログからUTF-8を使用するようにPuTTYを設定できます。 [ウィンドウ]-> [変換]に移動し、"受信データはどの文字セットにあると想定される"をUTF-8に設定します。

また、接続後にlocaleを実行して、ロケールがUTF-8で終わるものであることを確認してください。

そうでない場合は、locale -aを実行して、使用可能なすべてのロケールを確認します。使用可能なUTF-8ロケールがない場合は、/etc/locale.genを構成する必要があります。通常、コメントはかなり適切であり、何を追加またはコメント解除するかは明らかです。次に、locale-genを実行し、locale -aを再度チェックして、生成されたUTF-8ロケールを確認します。

export LC_ALL="sv_SE.UTF-8"のようなものは、ロケールが生成された場合に、実際にロケールを設定するというトリックを実行する必要があります。

5
jho

ここや他の多くの場所で説明されているように、2つの基本的な要素はPuTTYのウィンドウ/変換とLinuxのロケール設定です。

さらに、PuTTYでは接続/データ/ターミナルタイプの文字列を「PuTTY」に設定したり、LinuxではNCURSES_NO_UTF8_ACS = 1をエクスポートしたりすると役立つ場合があります。これらの2つは複数の場所でも言及されています。

ただし、CourierやLucida ConsoleなどのデフォルトのフォントにはすべてのUnicode文字が含まれていないため、特定の文字のブロックが発生する可能性があります。ダウンロードしてインストール http://dejavu-fonts.org/wiki/Download 、それを使用するようにPuTTYを設定します。

この最後のトリックは、すべてのグラフィック文字を表示するためにうなずく(推奨!)ために必要でした。

0
GauteLund