powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / WxWidgets (3.0.4), MS VS 2017 и кодировка русских символов
7 сообщений из 7, страница 1 из 1
WxWidgets (3.0.4), MS VS 2017 и кодировка русских символов
    #39613162
Юзер 01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Библиотека WxWidgets (3.0.4) построена юникодной (по умолчанию, вообще-то):

Код: powershell
1.
nmake -f makefile.vc UNICODE=1



Ну вот.
Код: plaintext
1.
        wxMessageBox("Hello World!");


- выводит:
СообщениеHello World!
Т.е. все хорошо.
...
Пытаюсь вывести русские буквы:
Код: plaintext
1.
2.
3.
4.
5.
6.
        wxMessageBox("Hello, world!");
        wxMessageBox("Привет, мир!");
        wxMessageBox(L"Привет, мир!");
        wxMessageBox(_("Привет, мир!"));
        wxMessageBox(_T("Привет, мир!"));
        wxMessageBox(wxT("Привет, мир!"));


В любом случае получаю кракозябры:
СообщениеПривет, РјРёСЂ!


Вот так - хорошо:
Код: plaintext
1.
        wxMessageBox(wxString::FromUTF8("Привет, мир!"));


СообщениеПривет, мир!

Я так понимаю, MS VS 2017 исходники кодирует в UTF8. А wxString::FromUTF8() их переводит в юникод.

Что бы подкрутить или в программе или в настройках редактора студии, чтобы русский текст в исходниках сразу был в какой нужно кодировке, без wxString::FromUTF8()?
...
Рейтинг: 0 / 0
WxWidgets (3.0.4), MS VS 2017 и кодировка русских символов
    #39613167
Юзер 01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Угу.
Сконвертировал "проблемный" исходник из UTF8 в "UCS-2 LittleEndian c BOM".
Заработало:

Код: plaintext
1.
2.
3.
4.
5.
6.
        wxMessageBox("Hello, world!");
        wxMessageBox("Привет, мир!");
        wxMessageBox(L"Привет, мир!");
        wxMessageBox(_("Привет, мир!"));
        wxMessageBox(_T("Привет, мир!"));
        wxMessageBox(wxT("Привет, мир!"));


- теперь выводит на русском. Ну, проект - один из демок wxWidgets, над которым я издеваюсь. Видимо, создавался бог знает когда и бог знает в чем, когда еще wxWidgets не поддерживали юникод.
.............................................
Создал с помощью визарда новый проект (графическое приложение MS Windows) - все исходники в "UCS-2 LittleEndian c BOM".
Т.е., все хорошо, "правильный юникод".
...
Вернулся к старому проекту, с исходной "проблемой".
Добавил (в MSVS) к проекту новый c++ файл, что-то в нем набрал, сохранил посмотрел - он "UTF8 без BOM". Т.е., фигня.
У обоих проектов в свойствах конфигурации указано "Использовать набор символов Юникода".

...
Вопрос: где в MSVS задается кодировка вновь создаваемых файлов исходников?
...
Рейтинг: 0 / 0
WxWidgets (3.0.4), MS VS 2017 и кодировка русских символов
    #39613169
Юзер 01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А куда в MS VS 2017 делся пункт меню "Advanced Save Options"? Там можно было кодировку файла поменять.
Раньше в было: File -> Advanced Save Options. Теперь - нет.

Может, переместили куда-нибудь?
...
Рейтинг: 0 / 0
WxWidgets (3.0.4), MS VS 2017 и кодировка русских символов
    #39613172
Юзер 01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пардон, в сообщениях 21248364 , 21248373 первая строка в блоке
Код: plaintext
1.
2.
3.
4.
5.
6.
        wxMessageBox("Hello, world!");
        wxMessageBox("Привет, мир!");
        wxMessageBox(L"Привет, мир!");
        wxMessageBox(_("Привет, мир!"));
        wxMessageBox(_T("Привет, мир!"));
        wxMessageBox(wxT("Привет, мир!"));


- лишняя.

Извинения.
...
Рейтинг: 0 / 0
WxWidgets (3.0.4), MS VS 2017 и кодировка русских символов
    #39613209
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юзер 01Вернулся к старому проекту, с исходной "проблемой".
Добавил (в MSVS) к проекту новый c++ файл, что-то в нем набрал, сохранил посмотрел - он "UTF8 без BOM". Т.е., фигня.
У обоих проектов в свойствах конфигурации указано "Использовать набор символов Юникода". UTF8 != UNICODE
...
Рейтинг: 0 / 0
WxWidgets (3.0.4), MS VS 2017 и кодировка русских символов
    #39613221
Юзер 01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rdb_dev,
Да.

А что насчёт этого:
Юзер 01Вопрос: где в MSVS задается кодировка вновь создаваемых файлов исходников?

- ?
...
Рейтинг: 0 / 0
WxWidgets (3.0.4), MS VS 2017 и кодировка русских символов
    #39613232
Юзер 01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Юзер 01А куда в MS VS 2017 делся пункт меню "Advanced Save Options"? Там можно было кодировку файла поменять.
Раньше в было: File -> Advanced Save Options. Теперь - нет.

Может, переместили куда-нибудь?
Угу, переместили, так и есть.
Теперь нужно вызвать "File" - "Save as...", потом внимательно посмотреть на кнопку "Save", теперь на ней есть ещё стрелка, направленная вниз. Если нажать на эту стрелку, появится тот самый "Advanced save", где можно кодировку поменять.

Вот и нафига этот авангард было делать...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / WxWidgets (3.0.4), MS VS 2017 и кодировка русских символов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]