【问题标题】:FastCGI and UnicodeFastCGI 和 Unicode
【发布时间】:2011-03-01 17:30:05
【问题描述】:

我想知道 Fastcgi 是否支持像 wprintf 这样的 unicode 函数。我通过 fread 接收一个缓冲区并获取其中包含 unicode 字符的 char* 。我的意思是值高于 128 的字节。如何在 fastcgi 主函数中处理它们。对 mbstowcs 的调用失败。

我的意思是我使用的是 FastCGI Developers Kit 库。一个 java 客户端正在发送用 UTF-8 编码的数据,我在服务器端使用 php 中的 mbstring 函数对其进行解码,但是那个 gcc 的等价物是什么。它似乎在 FastCGI amin 函数中不起作用。我查看了 Fascgipp,但我不知道它的使用量和稳定性如何。此外,我没有发现像 boost 这样的大型库对于小型实用程序来说是合理的。

【问题讨论】:

    标签: c unicode fastcgi


    【解决方案1】:

    如果您需要 Unicode,请使用 UTF-8 而不是“宽”字符。它们更适合网络。

    【讨论】:

      【解决方案2】:

      Fastcgi 是协议而不是 API。 因此,这取决于您选择的库。 是的,见图书馆 http://www.nongnu.org/fastcgipp/

      【讨论】:

        【解决方案3】:

        我通过 fread 接收到一个缓冲区并获取其中包含 unicode 字符的 char*。我的意思是值高于 128 的字节。

        Unicode 并不是唯一一个字节数超过 128 的编码。事实上,大多数其他编码都可以。您需要找出在您的 Web 应用程序中准确使用的编码。无论如何,我认为 wprintf 对你没有任何用处。

        【讨论】:

          【解决方案4】:

          FastCGI 需要字节流,因此最安全的选择是 UTF-8。 话虽如此,该程序应该可以使用非 UTF-8 输入; iconv 非常适合。

          您可以使用 wprintf,但只能以 wsnprintf 的形式使用,然后将缓冲区内容转换为 UTF-8,然后写入正确的 FCGI 流。

          【讨论】:

            猜你喜欢
            • 2012-02-09
            • 2016-07-16
            • 1970-01-01
            • 1970-01-01
            • 2021-07-07
            • 2011-02-05
            • 2015-04-08
            • 1970-01-01
            • 2015-03-26
            相关资源
            最近更新 更多