Предположим, у меня есть программа на C++, которая выводит текст на нескольких языках для каждого пользовательского ввода (например, перевод текста ввода). Эта программа работает на веб-сервере. Однако, если речь идет о выходе символов, отличных от ASCII (например, китайских символов или индийских скриптов или греческих), то, что появляется на консоли, является мусором. Есть ли способ правильно отобразить вывод программы на C++ в ответ на запрос клиента?Текстовый вывод программы на C++, запущенной на веб-сервере, и UTF-8
1
A
ответ
2
Вы должны организовать для ответа веб-сервера, чтобы явно указать набор символов в Content-Type: header
, такие как:
Content-Type: text/html; charset="utf-8"
Точный механизм для этого, зависит от веб-сервера, который вы используете, и как ваш веб-сервер обрабатывает вашу программу на C++.
С большинством веб-серверов, когда они выполняют внешнюю программу, ожидается, что внешняя программа будет выдавать ответ, состоящий из списка строк заголовка, ровно одну пустую строку, а затем содержимое ответа. Если это так, вам нужно просто включить этот заголовок в вывод вашей программы, перед пустой линией и содержимым.
И тогда, конечно, используйте правильную кодировку UTF-8 для вашего вывода.
Консоль должна быть настроена для символов 'UTF-8'. – Galik