Инструмент для преобразования исходного кода из кодовой страницы в UTF-8? - PullRequest
5 голосов
/ 06 февраля 2009

Я работаю над проектом с открытым исходным кодом. Исходный проект содержит комментарии на русском языке и использует кодовую страницу 1251. Я использую кодовую страницу 1252, и русские комментарии не отображаются правильно в Visual Studio Express 2008, не очень приятно, но в любом случае я не могу читать по-русски. Кто-то, использующий кодовую страницу 950 (традиционный китайский), попытался скомпилировать проект и не смог этого сделать из-за кодовой страницы! Теперь это действительно раздражает.

Я думаю, что использование Unicode (а точнее UTF-8 с подписью) в качестве формата файла для источника кода - это путь.

Проблема: как легко конвертировать весь исходный код?

Я уже думал о:

  • Позвольте Visual Studio сохранить исходный код как UTF-8. Но: Мой компьютер использует кодовую страницу 1252, и я не нашел способа сообщить VS, что исходный код использует кодовую страницу 1251, поэтому преобразование не будет правильным.

    Редактировать: Как указано в «LicenseQ», есть способ открыть один файл в VS с другой кодировкой: нажмите кнопку со стрелкой рядом с кнопкой «Открыть» в диалоговом окне открытия, выберите «Открыть с помощью» и затем выберите « Редактор кода (с кодировкой) ".

  • Конечно, я мог бы изменить кодовую страницу моего компьютера на время преобразования. Но это глобальная настройка в Windows, и вам нужно перезагрузить компьютер, чтобы я искал более дружественное решение.

  • Я нашел инструмент под названием CodePageConverter , который делает именно то, что мне нужно, но не может сделать это как пакетную работу.

Кто-нибудь знает другой инструмент (инструмент командной строки был бы идеален) для преобразования из кодовой страницы в UTF-8?

Редактировать: Как подсказывает tkotitan, решение, которое я искал, кажется iconv . Существует версия для Windows iconv . И теперь, когда я знаю название этого инструмента, я смог найти поверх сообщений в stackoverflow , имеющих дело с аналогичными проблемами.

Ответы [ 2 ]

7 голосов
/ 06 февраля 2009

В мире Unix утилита называется iconv.

Не уверен, что существует эквивалент Windows.

2 голосов
/ 06 февраля 2009

Вы можете попросить VS 2008 открыть файл с кодировкой (нажмите кнопку Стрелка рядом с кнопкой Открыть в диалоговом окне открытия)

Или вы можете изменить региональные настройки, чтобы добавить русский регион по умолчанию;)

...