在Web服务器和UTF-8上运行的C ++程序的文本输出

时间:2017-02-20 15:53:22

标签: c++ utf-8 webserver

假设我有一个C ++程序,可以为每个用户输入输出多种语言的文本(比如输入文本的翻译)。该程序在网络服务器上运行。但是,如果涉及非ASCII符号的输出(如中文字符或印度文字或希腊文),控制台中显示的内容就是垃圾。有没有办法在响应客户端请求时正确显示C ++程序的输出?

1 个答案:

答案 0 :(得分:2)

您必须安排网络服务器的响应,以明确指定Content-Type: header中的字符集,例如:

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

这样做的确切机制取决于您使用的Web服务器,以及Web服务器如何处理执行C ++程序。

对于大多数Web服务器,当它们执行外部程序时,外部程序应该产生响应,包括标题行列表,恰好一个空行,然后是响应的内容。如果是这样,您只需要确保在空白行和内容之前在程序的输出中包含此标题。

然后,当然,为您的输出使用正确的UTF-8编码。