Windows 7でPuTTYを使用して、Ubuntu10.10でLinuxマシンにアクセスします。 Windows7はLatin-1を使用していると思います。しかし、LinuxマシンとPostgreSQLデータベースでUTF-8を使用する必要があります。
PuTTYでこれを行うにはどうすればよいですか?
接続時に構成ダイアログから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"
のようなものは、ロケールが生成された場合に、実際にロケールを設定するというトリックを実行する必要があります。
ここや他の多くの場所で説明されているように、2つの基本的な要素はPuTTYのウィンドウ/変換とLinuxのロケール設定です。
さらに、PuTTYでは接続/データ/ターミナルタイプの文字列を「PuTTY」に設定したり、LinuxではNCURSES_NO_UTF8_ACS = 1をエクスポートしたりすると役立つ場合があります。これらの2つは複数の場所でも言及されています。
ただし、CourierやLucida ConsoleなどのデフォルトのフォントにはすべてのUnicode文字が含まれていないため、特定の文字のブロックが発生する可能性があります。ダウンロードしてインストール http://dejavu-fonts.org/wiki/Download 、それを使用するようにPuTTYを設定します。
この最後のトリックは、すべてのグラフィック文字を表示するためにうなずく(推奨!)ために必要でした。