当前位置: 代码迷 >> Java Web开发 >> 请教:jsp页面“中国”不能输出查询记录,“日本”却可以!
  详细解决方案

请教:jsp页面“中国”不能输出查询记录,“日本”却可以!

热度:249   发布时间:2006-04-01 23:26:00.0
请教:jsp页面“中国”不能输出查询记录,“日本”却可以!

小弟现在被一个非常问题困扰:

有一个jsp网站系统,SQL2K 和 jsp、 HTML代码均为GBK编码, tomcat4.1

以前一切正常!

因为要支持日语, jsp、 HTML代码改用UTF-8编码,SQL2K保持GBK


改动页面编码GBK->UTF-8 及
改动Jsp、Css、js数据格式ANSI-> UTF-8,
class 文件未做处理,沿用。



页面输出全部正常,不过在一个查询search.jsp页面,竟然出现了奇怪现象:

out.print (sql)输出为:

Select ……………like '%中国%'
Select ……………like '%中%'
Select ……………like '%国%'

jsp执行后均无记录,将以上语句copy到SQL查询分析器中,库中却有3条记录!


页面不变,改变关键词

out.print (sql)输出变为:


Select ……………like '%中华%'
Select ……………like '%日本%'
Select ……………like '%同志%'
Select ……………like '%乔治%'
Select ……………like '%江西%'

这几个关键字查询下来,jsp执行页面正常!

JSP输出记录与SQL查询分析器输出记录相同!

这是什么原因?


注:我已经将输入文本做了如下的转化处理,(如果不做以下处理,中文关键字不能被jsp正常接受)

try
{
newsTitle = new String(request.getParameter("In_Title").getBytes("ISO-8859-1"),"UTF-8");
}catch(Exception e)
{
newsTitle = "";
}









[此贴子已经被作者于2006-4-1 23:33:52编辑过]

搜索更多相关主题的帖子: 中国  日本  jsp  页面  输出  

----------------解决方案--------------------------------------------------------
  相关解决方案