2016-05-27 10 views
1

Macでbashを使用すると、アクセント付きの母音などの特殊文字や、スペイン語でかなり共通の文字を入力するのに非常に長い時間使用されています。具体的には、これらの文字を使用してbashでコミットメッセージをスペイン語で書いていましたが問題ありません。Mac OSX 10.11.5のbash端末でUnicodeの特殊文字が機能しない

私のMacをOS X El Capitan 10.11.5にアップグレードした後、私はこれらの文字のいずれかをタイプするとすぐにプロンプ​​トが変わり、入力された文字は表示されないことに気付きました。例えば、ñはプロンプトを

host:directory username $ 

(arg: 1) 

代わりに画面上に単に示すñします。 argの横に表示されているインデックスを除いて、他のアクセント付き文字やその他の特殊文字でも同様のことが起こります。

MacBook AirでOSX Yosemite 10.10.5を使用している間、これらの文字は私の慣れたようにコマンドラインに問題なく表示されます。

両方のコンピュータには、[ターミナル]> [環境設定]で設定されているのと同じセットのエンコードがあるため、問題ではありません。また、両方のコンピュータ上のlocaleの出力が同じである、すなわち

LANG= 
LC_COLLATE="C" 
LC_CTYPE="C" 
LC_MESSAGES="C" 
LC_MONETARY="C" 
LC_NUMERIC="C" 
LC_TIME="C" 
LC_ALL= 

私は、端末が、このアップデートによってのみ患部だろうと思いました。私のOSX 10.10.5 Macで完全に動作するPythonスクリプトを実行すると、10.11.5 Macでのエンコーディングエラーが発生し、同じバージョンのPython(3.4.3)で終了するという問題に実際になりました。

+0

私はMacを知りませんが、あなたのキーストロークがBash [Readline引数]を呼び出したような '(arg:1)'が表示されています(http://stackoverflow.com/a/562179/4014959) –

+0

Preferences > [プロファイル]> [詳細設定]タブの順にクリックします。下部には、[インターナショナル]セクションと[テキストエンコーディング]の右側にあるドロップダウンボックスがあります。それは「Unicode(UTF-8)」と言いますか?エル・キャピタン10.11.5を実行しているMacBook Pro(13 ")で再現することはできません。シェルとFirefoxの両方で「Option-n」と入力して問題なく「ñ」を生成することができました。このコメントを入力すると、端末は0xc3 0xB1というバイトを生成しました。(最低でも)もっともらしいものです。 –

+0

@JonathanLeffler実際には、両方ともUTF-8に設定されていました。 – jvrsgsty

答えて

2

私はついにそれを整理しました。私は私の両方のMacのビットでビットプロファイルの設定を比較した。彼らが異なる唯一のオプションは、実際には、Preferences> Profiles> Advancedです。 'International'セクションには、起動時にロケール変数を設定するためのチェックボックスがあります。私のMacBook Airではチェックされていませんでしたが、私のMacBook Airで確認されました。チェックボックスをオンにして、ターミナルを再起動すると、私のためにやりました。このオプションで起動時に設定されているものが何であるかはわかりませんが、ロケール変数は両方のコンピュータで同じ値に設定されています。

すべてが今では魅力的に機能しています。私は再びシェルに特殊文字を入力できますが、最も重要なのは、私のpythonスクリプトはエンコードの問題なしで完璧に動作します。

+0

私の仕事環境には、「起動時にロケール変数を設定する」項目もチェックされています。 –

関連する問題