2017-02-02 6 views
1

Странная проблема здесь не такая, как когда-либо, я надеялся, что кто-то другой увидит что-то подобное и может указать мне в правильном направлении.Визуальная студия не любит особую латинскую букву - ç

В моем текстовом редакторе (Sublime 3) открыть файл в вопросе и код я имею проблему с в Visual Studio выглядит следующим образом:

m_TargetApplicationFaçade = new TargetApplicationFaçade 

Что, как я бы ожидать, что это смотри, однако, когда я открываю файл .sln проекта (извините, если моя терминология неправильно - очень новой для Visual Studio) та же строка кода будет выглядеть так:

m_TargetApplicationFa鏰de = new TargetApplicationFa鏰de 

в попытке построить приложение Визуальная ошибки Студия у этих персонажей - это работающее приложение, которое я только что клонировал ma Git repo, поэтому мне не нужно будет ничего менять, т. е. я бы предпочел не заменить букву «ç», я бы предпочел выяснить, почему Visual Studio, похоже, не нравится ... если возможно !

Я работаю на Mac, если это помогает!

Надежда, что все это имеет смысл и достаточно информации

Любые рекомендации приветствуются

С уважением, Нил

+1

Прекрасно работает на VS 2013 в Windows 7. Может быть, что-то связано с версией Mac? Какая версия VS? –

+0

Проверьте, что вы выбрали опцию автоматического определения utf-8? – BugFinder

+1

ç не является латинской буквой (хотя это зависит от вашего определения «latin»), и это не в ASCII. Если вы хотите надежно использовать символы, отличные от ASCII, убедитесь, что все в Юникоде. В противном случае убедитесь, что все ваши инструменты используют одну и ту же кодировку. Похоже, что однобайтовая кодировка, которую вы используете в Git, интерпретируется как UTF-8 в Visual Studio (в большинстве случаев это приемлемое предположение), и учитывая, учитывая эвристику, единственное разумное предположение). – Luaan

ответ

0

Спасибо вам Таннера Swett в комментариях для выяснения ответа на этот.

Проблема была в том, что файл был неправильно закодирован с использованием Latin-1 - я изменил кодировку файла на UTF-8 - я сделал это в Sublime 3 (быстрый ответ Google даст вам ответ, как это сделать) затем снова открыли мой проект в Visual Studio, и ошибки исчезли! :-)

Спасибо всем снова!

N

+0

Также обратите внимание, что хорошим стандартом для приложений .NET является избежание символов, отличных от ASCII, для публичных пользователей. Хотя .NET имеет хорошую поддержку символов Unicode, это делает вещи сложнее, чем они должны быть (например, большинство людей не знают, как набирать 'ç' на своей клавиатуре, и это может быть путано с другим символом). Просто потому, что вы * можете * использовать «Фасад» в качестве идентификатора, это не значит, что вы * должны * :) Я мог бы также использовать сочетание латинских и кириллических символов, похожих на латинский для всех моих идентификаторов, но, конечно же, вы согласитесь, что это будет скорее враждебно: P – Luaan

+0

Не могу согласиться больше Luaan - не уверен, почему тот, кто сделал это, сделал это, но эй хо! :-) –