解决netbeans写jsp出现中文乱码的问题

来源:互联网 发布:二战各国战斗机知乎 编辑:程序博客网 时间:2024/05/06 18:08

一下方法适用于netbeans6.0,不完全适用6.1.

jsp表单提交的数据有中文时出现乱码,并非读取数据库数据后显示乱码,以下是解决的方法。

netbeans创建jsp的模版中是:<%@page contentType="text/html" pageEncoding="UTF-8"%>,将这行改成以下这样就可以正常显示中文:

<%@page language="java" pageEncoding=utf-8" %>

<%@page contentType=”text/html;charset=utf-8” %>

下面是在网上摘的关于页面编码不一致而产生乱码

代码

  1. <%@ page language="java" pageEncoding="UTF-8"%>  
  2. <%@ page contentType="text/html;charset=iso8859-1"%>  
  3. <html>  
  4. <head>  
  5. <title>中文问题</title>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7. </head>  
  8. </head>  
  9. <body>  
  10.   我是个好人   
  11. </body>  
  12. </html>  


三个地方的编码。
第一个地方的编码格式为jsp文件的存储格式。Ecljpse会根据这个编码格式保存文件。并编译jsp文件,包括里面的汉字。
第二处编码为解码格式。因为存为UTF-8的文件被解码为iso8859-1,这样如有中文肯定出乱码。也就是必须一致。而第二处所在的这一行,可以没有。缺省也是使用iso8859-1的编码格式。所以如果没有这一行的话,我是个好人也会出现乱码。必须一致才可以。
第三处编码为控制浏览器的解码方式。如果前面的解码都一致并且无误的话,这个编码格式没有关系。有的网页出现乱码,就是因为浏览器不能确定使用哪种编码格式。因为页面有时候会嵌入页面,导致浏览器混淆了编码格式。出现了乱码。

在JSP中:

jsp 代码
  1. <%@page contentType="text/html" pageEncoding="UTF-8"%>

在Servlet中:

java 代码
  1. response.setContentType("text/html;charset=UTF-8");

在所有的网页中:

html代码
  1. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

Netbeans统一UTF-8编码的方法

1.找到你的Netbeans安装目录下的etc文件夹,如C:/Program Files/NetBeans 6.0 M9/etc
2.用记事本打开netbeans.conf
3.找到netbeans_default_options这一句(没带#号的,带#号的是注释)
4.在最后面加上一个空格,再加入-J-Dfile.encoding=UTF-8
如我现在的设置:
netbeans_default_options="-J-DAM_CONFIG_FILE=/"C:/Sun/AppServer/domains/domain1/config/AMConfig.properties/" -J-Dcom.sun.aas.installRoot=/"C:/Sun/AppServer/" -J-Xms128m -J-Xmx512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -J-Dapple.laf.useScreenMenuBar=true -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled -J-Dfile.encoding=UTF-8"

原创粉丝点击