javaweb响应数据时乱码的问题



 在我做查询时,我查询数据库里的数据,成功的显示在页面中。可是我设置了错误提示,显示去页面的时候就出现了乱码问题。我的项目统一编码是utf-8,我的页面也设置了,在web.xml 也设置了。
我感到疑惑的是,为什么我在数据查出来的值到页面显示是编码正确的。而我在项目中定义的错误提示就是乱码。还有一个问题,我在输入的name值就是“帮助”,可是还是跟MicroMessageConstrations.NO_COMMAND_HELP不匹配
下面就是在service中定义的方法,还有错误提示所在数据。



 对我的问题进行补充,我在项目中设置了错误提示。在service中的断点查看是没有问题的。就是在service返回到action时出现了乱码问题。好像是一个spring的动态代理事务让我的错误提示变为了乱码



 public String findCommandByName(String name) {
        if (MicroMessageConstrations.NO_COMMAND_HELP.equals(name)) {    
            List<Command> listMessage = commandDao.findCommand(new Command());
            StringBuilder strBuil = new StringBuilder();
            for (int i = 0; i < listMessage.size(); i++) {
                if (i > 0) {
                    strBuil.append("<br/>");
                }
                strBuil.append("指令:"+listMessage.get(i).getName()+" 内容:"+listMessage.get(i).getDescription()+"");
            }
            return strBuil.toString();
        }
        Command command = commandDao.findCommandByName(name);
        if (command == null) {
            return MicroMessageConstrations.NO_COMMAND_MESSAGE;
        }
        new Random(command.getCommandContents().size());
        return command.getCommandContents().get(new Random().nextInt(command.getCommandContents().size())).getContent();
    }



 public class MicroMessageConstrations {

    public static final String NO_COMMAND_HELP = "帮助";

    public static final String NO_COMMAND_MESSAGE = "没有这个值";

}

spring-mvc spring javaweb

鱼丸子2313 9 years, 4 months ago

response.setContextType("text/plain");
response.setCaharset("UTF-8");

九凤院·紫 answered 9 years, 4 months ago

是不是你的页面编码有问题

banban answered 9 years, 4 months ago

Your Answer