uClinux BOA SERVER CGI 支持中文吗?

wz1988001 2010-03-22 05:04:37
我在用CGI返回中文时 printf("中文\n"); 浏览器在该行显示Invalid multibyte format string

在网上搜了一下有一种说法如下 在MIME头里加上对字符集 charset:gb2312

现在我的MIME头如下:printf("Content-type:text/html\ncharset:gb2312\nPragma:no-cache\n\n");

仍然是Invalid multibyte format string 。

于是我想应该是我的uClinux 根本就不支持中文吧 (没配有字符集)

i wrote a test :

//test.c

#include<stdio.h>

int main()

{

printf("中文。");

return 0;

}

arm-elf-gcc -elf2flt -o test.flt test.c

放在某个文件夹下 编绎后烧到板子上 运行


>./test.flt


超级终端输出也是:Invalid multibyte format string

这样说来就是uClinux 不支持中文了

我想在配置uClinux时是不是有对中文的支持,找到这么一项

linux kernel configuration->file systems ->native language support

可它是灰的,没法改!!!



求达人相助!!!





...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wz1988001 2010-03-22
  • 打赏
  • 举报
回复
真是太感谢了。
用你说的这种方法浏览器可以显示中文了。
printf( "Content-type: text/html\n\n<HTML><HEAD><TITLE>%s</TITLE><BODY>%s</BODY></HEAD>", "网页标题","网页内容" );

不过这就换了一种输出格式了,
printf("%s","字符串");
printf("字符串");
真是奇怪了。我再去摸索一下。

[Quote=引用 2 楼 wz1988001 的回复:]
引用 1 楼 yangb_soso 的回复:
肯定可以的,你printf的内容用html试试呢?
还有,先确认引号是半角的,不能用中文的引号,


谢谢。

嗯 。我CGI脚本输出的html 有MIME头和 <html></html> 这样的信息。

引号如果是中文的引号....编绎不可能会通过吧.......
[/Quote]
wz1988001 2010-03-22
  • 打赏
  • 举报
回复
我之前把 uClibc 下的 Config 文件里的
HAS_WCHAR = false
改成
HAS_WCHAR = true

还是不行。
wz1988001 2010-03-22
  • 打赏
  • 举报
回复
再次感谢。

好的。这就去试一下。因为平时都是只注意到 <body>***</body> 这里面的内空是输出
Invalid multibyte format string
你说的<title></title>里的网页标题平时还真没留意。:)

之前在别的论坛提问过,有个人给我回答是
You need to rebuild your uClibc in toolchain with multibyte character support. Or install the full version of toolchain RPM.
不知道是不是要用某种配置工具来重新配一下uClibc 支持多字节 ,然后把这个配好的uClibc 来替换原来uClinux-dist 里头的那个 uClibc 。。。。。。。。。。好多疑惑啊。。。







[Quote=引用 3 楼 yangb_soso 的回复:]
试试这样呢?看别人项目里的
printf( "Content-type: text/html\n\n<HTML><HEAD><TITLE>%s</TITLE></HEAD>", "设备结构" ) ;



引用 2 楼 wz1988001 的回复:
引用 1 楼 yangb_soso 的回复:
肯定可以的,你printf的内容用html试试呢?
还有,先确认引号是半角的,不能用中文……
[/Quote]
yangb2014# 2010-03-22
  • 打赏
  • 举报
回复
试试这样呢?看别人项目里的
printf( "Content-type: text/html\n\n<HTML><HEAD><TITLE>%s</TITLE></HEAD>", "设备结构" ) ;


[Quote=引用 2 楼 wz1988001 的回复:]
引用 1 楼 yangb_soso 的回复:
肯定可以的,你printf的内容用html试试呢?
还有,先确认引号是半角的,不能用中文的引号,


谢谢。

嗯 。我CGI脚本输出的html 有MIME头和 <html></html> 这样的信息。

引号如果是中文的引号....编绎不可能会通过吧.......
[/Quote]
wz1988001 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yangb_soso 的回复:]
肯定可以的,你printf的内容用html试试呢?
还有,先确认引号是半角的,不能用中文的引号,
[/Quote]

谢谢。

嗯 。我CGI脚本输出的html 有MIME头和 <html></html> 这样的信息。

引号如果是中文的引号....编绎不可能会通过吧.......
yangb2014# 2010-03-22
  • 打赏
  • 举报
回复
肯定可以的,你printf的内容用html试试呢?
还有,先确认引号是半角的,不能用中文的引号,

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧