小弟现在被一个非常问题困扰:
有一个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编辑过]