echo中文问题,烦死了

wmf 2003-04-06 12:35:12
问题是这样:
在数据库取出数据时,经过转换可以正确地显示在WEB页上,
但,在WEB页的数据不管如何转换提交到数据库时总是乱码!
看ECHO原码,它默认的CHARACTER_ENCODING为utf-8,改成iso-8859-1
或改成GB2113还是不行,真是烦死人了!!
...全文
8 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wmf 2003-04-07
一切搞定,ECHO的Connection类中有这样一方法

public String getParameter(String name) {
String value = request.getParameter(name);
if (fixParameterEncoding) {
if (value != null) {
try {
//这有问题
//return new String(value.getBytes(), characterEncoding);
//应该这样
return new String(value.getBytes("8859-1"), characterEncoding);
} catch (java.io.UnsupportedEncodingException ex) {
throw new EchoServletException("Unsupported encoding", ex);
}
}
}
return value;
}

谢谢各位参与,都有分!
回复
合林元风 2003-04-06
应该在获取提交数据时就做编码,然后再存入数据库
回复
合林元风 2003-04-06
public static final String toGb2312(String str)
{
String tmp="";
if(null!=str&&!"".equals(str))
{
str = str.trim();
if (AppConfigManager.isEncoding)
{
try
{
tmp = new String(str.getBytes("8859_1"), "GB2312");
}
catch(UnsupportedEncodingException e)
{
Debug.println("Convert code Error:".concat(String.valueOf(String.valueOf(e.getMessage()))));
}
}
else
tmp = str;
}
return tmp;
}
回复
onlysgirl 2003-04-06
用RESIN就没有这些问题了
回复
wmf 2003-04-06
geeky(坏熊笨笨) :
不行啊,如你用ECHO就知了,不过还是非常感谢。
我还在继续看其原码。
回复
合林元风 2003-04-06
简化一下
public static final String toGb2312(String str)
{
String tmp="";
if(null!=str&&!"".equals(str))
{
str = str.trim();

try
{
tmp = new String(str.getBytes("8859_1"), "GB2312");
}
catch(UnsupportedEncodingException e)
{
Debug.println("Convert code Error:".concat(String.valueOf(String.valueOf(e.getMessage()))));
}

}
return tmp;
}
回复
zgtt 2003-04-06
xuexi
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-04-06 12:35
社区公告
暂无公告