2016-04-26 10 views
1

コンパイル時に自動的にコードをフォーマットするようにclang-formatを設定しましたが、特定の文字を疑問符で置き換えています。たとえば:Clang-formatの文字エンコードが正しくない問題

// Copyright © Someone 

は私が使用ソースファイルのエンコーディングオプションを有効にすると、以下のように、それが表示されるVisual Studioの2015年にCodeBeautifierプラグインを使用してい

// Copyright ? Someone 

になり

// Copyright � Someone 

タイプがStdInputに設定されています。これは、ファイルユーザーの入力を待ち、Visual Studioをフリーズします。

これらの文字が正しくエンコードされないようにするにはどうすればよいですか?

答えて

2

これは、文字がutf-8に保存されているためです。明らかに、MSVCはそれを正確に認識しません。

これは役に立ちます:How to set standard encoding in Visual Studio。さらに、オプション/テキストエディタ内で、「署名なしでUTF-8エンコーディングを自動検出する」を有効にします。

+0

ファイルを手動で保存するときに問題は発生しませんが、プラグインでフォーマットするときにのみ問題が発生します。興味深いことに、ソースファイルを開いたままこのプラグインを実行すると、正しく保存されます。 – Broxzier

+0

まだ、それはエンコーディングの問題のままです。いずれの場合でも、美化器またはスタジオは、(明らかな)マルチバイト文字を、他のものとは異なる方法で読み書きします。エンコーディングの問題は、通常はソースコードでのみASCII文字を使用する必要があるため、©を(C)に置き換えることを考えるかもしれません。 – Aconcagua

関連する問題