2011-03-01 70 views
1

我想知道Fastcgi是否支持像wprintf這樣的unicode函數。我通過fread接收一個緩衝區,並獲取其中包含unicode字符的char *。我的意思是值大於128的字節。我如何在fastcgi main函數內處理它們。對mbstowcs的調用失敗。FastCGI和Unicode

我的意思是說我使用的是FastCGI Developers Kit庫。一個java客戶端正在發送使用UTF-8編碼的數據,我在php中使用mbstring函數解碼了它的服務器端,但是那個gcc的等價物是什麼。在FastCGI amin函數內部似乎沒有任何工作。我看着Fascgipp,但我不知道它使用了多少,它是多麼穩定。此外,我沒有發現像一個小公用事業合理的龐大的圖書館。

回答

3

如果您需要Unicode,請使用UTF-8而不是「寬」字符。他們更適合網絡。

0

我通過fread接收一個緩衝區,並獲取其中包含unicode字符的char *。我的意思是值大於128的字節。

Unicode不是唯一的字節數超過128的字節。實際上,大多數其他編碼都可以。您需要找出在您的Web應用程序中正確使用的編碼。無論如何,我不認爲wprintf會以任何方式對你有用。

0

FastCGI需要一個字節流,所以你最安全的選擇是UTF-8。這就是說,該程序應該使用非UTF-8輸入; iconv對此非常理想。

您可以使用wprintf,但只能使用wsnprintf的形式,之後將緩衝區內容轉換爲UTF-8,然後寫入正確的FCGI流。