怎样得到用户提交中文数据的编码??

whodsow 2003-07-30 08:24:33
用户提交的非英文字符串,可能被使用各种编码被编码成字节流,怎么知道客户端浏览器对这些字符串使用的编码??
ServletRequest中好像有个getCharacterEncoding(),但是好像它返回的是null,也就是不知道客户浏览器使用的什么编码了??
怎样得到用户提交中文数据的编码??
还有就是客户端凭什么决定编码是GB2312或UTF-8,我们可不可以在form元素中进行设置,让浏览器根据我们的喜好用指定的编码??
请高手指点。
...全文
35 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
icecloud 2003-08-15
  • 打赏
  • 举报
回复
我想你可能是要做成像google那样,能够自动识别客户的语言并显示相应的界面吧

http://www.chedong.com/tech/unicode_java.html
看看这篇文章,你就知道了
icecloud 2003-08-15
  • 打赏
  • 举报
回复
request.getLocale() 我自己得到的是zh-CN
这是获得对方的浏览器语言的。

如果是要得到编码恐怕不好说,因为请求默认的都是用iso-8859-1或utf-8编码的
icecloud 2003-08-15
  • 打赏
  • 举报
回复
request.getLocale()
我自己得到的是zh-CN
zhjjava 2003-08-14
  • 打赏
  • 举报
回复
你管台湾干吗!?
你只要把字符集设为gbk,所有的华语,通吃!
yyhyan 2003-08-14
  • 打赏
  • 举报
回复
■■帮忙顶,请各位高手看一下啊,这个问题很重要■■
whodsow 2003-08-11
  • 打赏
  • 举报
回复
100分没人感兴趣吗??
whodsow 2003-08-07
  • 打赏
  • 举报
回复
我查过W3C关于HTML的规范和IETF的RFC2616关于HTTP1.1的定义,好像真的不能,你有好办法么??
whodsow 2003-08-02
  • 打赏
  • 举报
回复
可是我用过,它似乎得不到,或者是说在IE6.0下面得不到。
zhjjava 2003-08-01
  • 打赏
  • 举报
回复
request.getCharacterEncoding()
这句话,可以 得到
whodsow 2003-08-01
  • 打赏
  • 举报
回复
用<meta http-equiv="Content-Type" content="text/html; charset=gb2312">只是推荐客户浏览器使用GB2312对页面解码,当然如果客户浏览器接受这个建议,那么它可以使用GB2312对给服务器发送的数据(请求中的实体)使用GB2312编码,其实有比这个优先级更高的charset那就是在响应头中的Content-Type中的charset,但那还是推荐,到底用什么编码完全取决于客户自已,所以这个时候我们就不能判断出客户端浏览器给服务器发送的数据使用的是什么编码了,台湾省的朋友可能用了Big5,也有更优秀的程序员用了UTF-8,那我怎么在客户端解码请求实体,我完全不知道我的客户用了什么编码。
upc_chenli 2003-07-31
  • 打赏
  • 举报
回复
request.setCharacterEncoding("GDK")

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

可以认为是"强制"的设置编码。

request.setCharacterEncoding("GDK") -- 客户端发出的请求"强制"使用GBK编码

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> -- IE"强制"使用gb2312编码



whodsow 2003-07-31
  • 打赏
  • 举报
回复
request.setCharacterEncoding("GDK"),
当我不知道请求实体是用GBK时怎么办,它可能用的是BIG5啊。
whodsow 2003-07-31
  • 打赏
  • 举报
回复
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">是决定的当前Web页的编码,这只是一个推荐的charset,浏览器都不一定会用。
还有就是即使这么做的话,服务器也不能得到请求实体所用的编码。
我需要的是要能通过某个方法获得这个实体所用的编码。
Wnyu 2003-07-30
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> // 注意这个!
<title>无标题文档</title>
</head>

<body>

</body>
</html>
Tanmf 2003-07-30
  • 打赏
  • 举报
回复
request.setCharacterEncoding("GDK"),

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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