FastCGI 和 Unicode

发布于 2024-10-19 16:01:00 字数 369 浏览 3 评论 0原文

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

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

I am wondering if Fastcgi supports unicode functions like wprintf. I receive a buffer via fread and get char* that has unicode characters in it. I mean bytes with value above 128 . How do I process them inside fastcgi main function. A call to mbstowcs fails.

I meant that I was using the FastCGI Developers Kit library. A java client is sending data encoded with UTF-8 , I decoded it server side using mbstring functions in php , but what is the equivalent of that gcc . What ever it is does not seem to work inside the FastCGI amin function. I looked at Fascgipp but I dont know how much it is used and how stable it is . Further I dont find lugging a huge library like boost justified for a small utility.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

旧伤还要旧人安 2024-10-26 16:01:00

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

If you need Unicode, use UTF-8 and not "wide" characters. They are much more suitable for the web.

若言繁花未落 2024-10-26 16:01:00

Fastcgi 是协议而不是 API。
所以这取决于您选择的库。
是的,请参阅图书馆
http://www.nongnu.org/fastcgipp/

Fastcgi is protocol not an API.
So it depend on the library you are choosing.
Yes see library
http://www.nongnu.org/fastcgipp/

望笑 2024-10-26 16:01:00

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

Unicode 并不是唯一包含 128 以上字节的编码。事实上,大多数其他编码都是如此。您需要找出您的 Web 应用程序中到底使用了哪种编码。无论如何,我认为 wprintf 对您没有任何用处。

I receive a buffer via fread and get char* that has unicode characters in it. I mean bytes with value above 128 .

Unicode is not the only encoding that has bytes above 128 in it. In fact, most other encodings do. You need to find out which encoding is exactly used in your web application. In any case, I don't think wprintf is going to be useful to you in any way.

用心笑 2024-10-26 16:01:00

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

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

FastCGI expects a byte stream, so your safest bet is UTF-8.
That being said, the program should work with non-UTF-8 input; iconv is ideal for this.

You can use wprintf, but only in the form of wsnprintf, after which buffer contents are converted to UTF-8 and then written to the correct FCGI stream.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文