Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
-3 / 8 / 3
Регистрация: 05.08.2016
Сообщений: 35

Вывод Utf8 в textbox

09.02.2017, 11:51. Показов 2313. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день
Проблема такая.
Курлом получаю страницу со своего сайта. Там кодировка UTF8 (прописал в конфигах nginx)
Сохраняю ответ в переменную, передаю ее в textbox. Получаю знаки вопроса вместо русского текста.
Как решить проблему? Гуглил 2 дня. Уже мозги кипят.

Писал на C# - все было отлично. На C++ пришлось перейти, так как на C# все кому не лень выпускают свои модификации и сервер нагружают.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2017, 11:51
Ответы с готовыми решениями:

Неправильный вывод UTF8 строки вместе с setw
Есть файл с UTF8 строкой. Считываем его и выводим во второй файл с выравниванием. В результате выравнивание нету. Почему так? Чем...

Если в textbox введено меньше 3 символов и фокус снимается с textbox, то вывод ошибки
если в textbox введено меньше 3 символов и пользователь вышел за границы textbox то вывести ошибку что 3 символа не может содержаться в...

Ввод массивов через множество textBox, подсчёт суммы, и вывод через listBox. Ошибка при вводе через textBox
Создал я кучу текст боксов, там происходит ввод каждого элемента массива. И вывод через листбокс По идее должен...

5
33 / 33 / 18
Регистрация: 16.09.2015
Сообщений: 246
09.02.2017, 12:32
Encoding::utf8

Поспотри это на мсдн
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
09.02.2017, 13:47
vcxjk, нужно указать правильную кодировку при получении данных с сайта. Как это сделать нужно смотреть в документации на curl скорее всего, раз ты ей пользуешься.
1
-3 / 8 / 3
Регистрация: 05.08.2016
Сообщений: 35
09.02.2017, 20:54  [ТС]
Сделал так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
std::string UTF8_to_CP1251(std::string const & utf8)
{
    if(!utf8.empty())
    {
        int wchlen = MultiByteToWideChar(CP_UTF8, 0, utf8.c_str(), utf8.size(), NULL, 0);
        if(wchlen > 0 && wchlen != 0xFFFD)
        {
            std::vector<wchar_t> wbuf(wchlen);
            MultiByteToWideChar(CP_UTF8, 0, utf8.c_str(), utf8.size(), &wbuf[0], wchlen);
            std::vector<char> buf(wchlen);
            WideCharToMultiByte(1251, 0, &wbuf[0], wchlen, &buf[0], wchlen, 0, 0);
 
            return std::string(&buf[0], wchlen);
        }
    }
    return std::string();
}
Только это помогло. Мой сервер отдает только utf-8, не смотря на заголовки.
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
09.02.2017, 21:11
vcxjk, это плохое решение. Правильно это преобразование байтов полученных от сервера сразу в нужную кодировку. Именно это я имел в виду говоря про указывание кодировки при чтении ответа.

Добавлено через 2 минуты
Или раз мы пишем на .NET можно использовать .NET классы для работы с HTTP. Ведь ты наверное этот текст выводишь затем в форме? А это означает еще одно преобразование - из std::string в System::String. То два лишних преобразования.
0
-3 / 8 / 3
Регистрация: 05.08.2016
Сообщений: 35
10.02.2017, 11:27  [ТС]
я пишу на C++ дней 5 только.
Указывал кодировку при чтении ответа - с другими сайтами работает, приходит ответ в кодировке, которую указал, а от моего сайта только UTF-8.
Хотел использовать httpwebrequest, но мсдн говорит - устарело.
Поиски отнимают много времени. Пока все сделаю, главное чтобы работало. Со временем буду все оптимизировать.
Да и у пользователей моего ПО минимум 4 гбайт ОП.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.02.2017, 11:27
Помогаю со студенческими работами здесь

Вывод в textbox
Здравствуйте. Подскажите, пожалуйста, как вывести в textbox3 произведение, введеных в textbox1 и textbox2 пользователем чисел. Без кнопки...

Вывод в textBox
Такая проблемка, необходимо из одного textBoxа(например textBox1), в котором находиться некоторые числа,соединенные знаком &quot;+&quot;...

Вывод в TextBox
Помогите, пожалуйста уже 3 дня гуглю и мучаюсь(( Вобщем так есть 3 разных (круг, квадрат, овал) элемента Shape, для каждого элемента...

Вывод в textBox
Доброго времени суток. Подскажите пожалуйста, как сделать, что бы при расчётах крупных чисел, в textBox не выводился результат типа...

Вывод в textbox
Доброго времени суток, пишу программу для сбора информации о ПК, возник вопрос с выводом информации в textbox пока что есть функция...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru