echo中文问题,烦死了

wmf 2003-04-06 12:35:12
问题是这样:
在数据库取出数据时,经过转换可以正确地显示在WEB页上,
但,在WEB页的数据不管如何转换提交到数据库时总是乱码!
看ECHO原码,它默认的CHARACTER_ENCODING为utf-8,改成iso-8859-1
或改成GB2113还是不行,真是烦死人了!!
...全文
70 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

81,122

社区成员

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

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