2017-02-20 46 views
1

Предположим, у меня есть программа на C++, которая выводит текст на нескольких языках для каждого пользовательского ввода (например, перевод текста ввода). Эта программа работает на веб-сервере. Однако, если речь идет о выходе символов, отличных от ASCII (например, китайских символов или индийских скриптов или греческих), то, что появляется на консоли, является мусором. Есть ли способ правильно отобразить вывод программы на C++ в ответ на запрос клиента?Текстовый вывод программы на C++, запущенной на веб-сервере, и UTF-8

+0

Консоль должна быть настроена для символов 'UTF-8'. – Galik

ответ

2

Вы должны организовать для ответа веб-сервера, чтобы явно указать набор символов в Content-Type: header, такие как:

Content-Type: text/html; charset="utf-8" 

Точный механизм для этого, зависит от веб-сервера, который вы используете, и как ваш веб-сервер обрабатывает вашу программу на C++.

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

И тогда, конечно, используйте правильную кодировку UTF-8 для вашего вывода.