You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2007/02/27 02:36:19 UTC
DO NOT REPLY [Bug 38467] - Apache unable to output wide characters through cgi (C++)
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38467>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=38467
------- Additional Comments From basant.kukreja@sun.com 2007-02-26 17:36 -------
I was able to reproduce the issue. I think "apache" behavior is correct.
Here is my experiment :
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <unistd.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "");
wcout << L"Content-Type: text/html; charset=UTF-8" << endl << endl;
wcout << L"aaaa ÿ ÿ ÿ ñ" << endl;
system("locale");
return 0;
}
I modified your sample a bit and added system call to figure out what was the
locale.
I got the output similar to you
HTTP/1.1 200 OK
Date: Tue, 27 Feb 2007 00:59:43 GMT
Server: Apache/2.2.5-dev (Unix) mod_ssl/2.2.5-dev OpenSSL/0.9.8a DAV/2 SVN/1.4.3
mod_perl/2.0.4-dev Perl/v5.8.8
Content-Length: 293
Content-Type: text/html; charset=UTF-8
environ = 0xbff5613c
write error
aaaa ? ? ? ?
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
Since the locale is set to POSIX so C++ application prints ?.
Now set the locale to en_US for cgi-bin and restart apache.
<Directory "/disk/apache/apache2/cgi-bin">
SetEnv LANG "en_US"
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
I got the right output :
HTTP/1.1 200 OK
Date: Tue, 27 Feb 2007 01:05:44 GMT
Server: Apache/2.2.5-dev (Unix) mod_ssl/2.2.5-dev OpenSSL/0.9.8a DAV/2 SVN/1.4.3
mod_perl/2.0.4-dev Perl/v5.8.8
Content-Length: 265
Content-Type: text/html; charset=UTF-8
aaaa � � � �
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
If you setup the locale to POSIX on shell and run the cgi script,
you will see the same output (question marks)
Charles, can you confirm the issue. I will wait for your response before
making the bug as invalid.
I think the bug is invalid and if there is a bug then it is in C++ runtime.
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org