一,获取系统平台的默认编码

  获取系统平台的默认编码:

  String encoding=System.getProperty("file.encoding");

  注:至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),

    中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。

    GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。

    GBK编码是GB2312编码的扩展,包括简体中文和繁体中文,兼容GB2312.

二,服务器端指定字符编码向浏览器发送数据,并指定浏览器以指定字符编码打开

第一步: resp.setCharacterEncoding("utf-8");//服务器以指定字符编码向浏览器发送信息

  第二步:resp.setHeader("content-type","text/html;charset=utf-8");//让浏览器以指定字符编码打开服务器发送过来的信息

  当浏览器的默认编码与服务器指定的字符编码相同时,此时不需要第二步。

三,下载中文文件时,遇到文件名乱码问题的解决方案

    String path=this.getServletContext().getRealPath("/img/我的照片.JPG");
        String fileName=path.substring(path.lastIndexOf("\\")+1);

   resp.setHeader("content-disposition","attachment;filename="+new String( fileName.getBytes(),"iso8859-1") );

四,表单提交数据,在服务器端接收到的数据乱码

    这种情况通常是浏览器编码格式与服务端解码格式不一致导致的。如jsp页面编码格式是utf-8,而服务器编解码是GBK格式。

    如服务端收到的参数:String validate=req.getParameter("validateCode");

   (1)当表单以post方式提交时,可以直接用resquest.setCharacterEncoding("utf-8")的方法;         

   (2)当表单以get方式提交时,用下面的方法。

    validate=new String(validate.getBytes("iso8859-1"),"UTF-8");

    此时以“UTF-8”解码是因为jsp页面的编码格式是"UTF-8",必须与jsp编码格式保持一致。

JavaWeb开发中的乱码问题的更多相关文章

  1. javaWeb开发中的中文编码问题

    常规解决乱码问题的方法是: a.把所有的jsp页面的charset设置为UTF-8.   b.添加过滤器,在filter内调用request.setCharacterEncoding("ut ...

  2. Javaweb开发中URL路径的使用

    看到博客园孤傲苍狼的web系列文章中有关于URL路径的使用文章后,感觉自己对URL的使用清楚了很多,自己再对着动手写一遍以加深记忆. JavaWeb开发中常看到URL以"/"开头, ...

  3. javaweb项目数据库中数据乱码

    javaweb项目数据库中数据乱码 first: 排查原因: 打断点,查看到底是在执行存数据库操作之前就已经乱码了,还是存数据库操作后乱码的. 前者解决方案: 在web.xml里面加上: <fi ...

  4. 【详细】总结JavaWeb开发中SSH框架开发问题(用心总结,不容错过)

    在做JavaWeb的SSH框架开发的时候,遇到过很多的细节问题,这里大概记录下 我使用的IDE是Eclipse(老版本)三大框架:Spring4.Struts2.Hibernate5 1.web.xm ...

  5. Javaweb编程中的乱码问题

    程序中的乱码问题,主要出现在我们处理中文数据的过程中出现.从浏览器向服务器请求数据,服务器返回的数据在浏览器中显示为乱码.或者是服务器中的java文件用到中文,也有可能会出现乱码.数据库在处理数据的时 ...

  6. JavaWeb开发中的分层思想(一)

    JavaWeb开发分层思想(一) 一.认识DAO.Service.Controller层 DAO(Data Access Object) 1.直接看英文意思就是"数据访问对象",也 ...

  7. javaweb开发中的常见错误

    Javaweb中的最常见错误及其解决方法 1.200:表示成功处理业务. 2.400 请求出错: 由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就 无法重复此请求. 解决办法:,遇到400 ...

  8. java开发中中文乱码总结

    1.jsp页面内容显示乱码 这种乱码原因很简单,一般的工具或解码程序对中文字符解析时采用默认的解码方式: <%@ page contentType="text/html; charse ...

  9. javaWeb开发中关于eclipse等ide重新部署或重启项目等原因造成上传文件丢失问题解决方案

    在开发项目时,有时候需要用到上传功能,比如头像上传等,其文件会保存到服务器中.但是我发现在用eclipse做项目的过程中,每次重新部署项目,原来上传的文件就会丢失. 其原因是因为每次项目修改后,ecl ...

随机推荐

  1. A/B测试评测

    A/B测试评测 A/B测试在各类网站设计中已经是比较常见的,本文着重讲讲A/B测试在应用推送领域的作用. 目前国外开通A/B测试的推送服务商只有swrve,而国内的个推也在前不久发布的smart pu ...

  2. Javascript多线程引擎(七)

    Javascript多线程引擎(七)--synchronized关键字 经过两天的努力, 今天synchronzied关键字终于支持了, 如下是测试代码 thread() 是一个开启新线程的API, ...

  3. java入门学习(十二)运算语句 if switch

    这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客:www.taomaipin.com java中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,b ...

  4. 大量Javascript/JQuery学习教程电子书合集

    [推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人   不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pd ...

  5. MVC ValidationAttribute 服务器端自定义验证

    MVC ValidationAttribute 服务器端自定义验证 客户端验证 上文只说了客户端的自定义验证,这样对于用户的输入还是不够可靠,用户完全可以绕过我们定义的客户端验证.所以仅有客户端的验证 ...

  6. C#中一些易混淆概念总结

    C#中一些易混淆概念 这几天一直在复习C#基础知识,过程中也发现了自己以前理解不清楚和混淆的概念.现在给大家分享出来我的笔记: 一,.NET平台的重要组成部分都是有哪些 1)FCL (所谓的.NET框 ...

  7. Redis .NET开源组件Beetle.Redis

    Redis .NET开源组件Beetle.Redis Beetle.Redis是一款开源的Redis Client for .net组件,它提供非常简便的操作方式可以让开发人员轻松地访问Redis,同 ...

  8. vs2012+Spring.Core.dll

    Ⅰ.Spring的点点滴滴--序章   spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 .net篇(环境为vs2012+Spring.Core.dll) 新建一个控制台 u ...

  9. 运动检测(前景检测)之(二)混合高斯模型GMM

    运动检测(前景检测)之(二)混合高斯模型GMM zouxy09@qq.com http://blog.csdn.net/zouxy09 因为监控发展的需求,目前前景检测的研究还是很多的,也出现了很多新 ...

  10. 【C++ 中文手册】即将完成

    [C++ 中文手册]即将完成 内容包含C++11,历时一年,日夜赶工,即将完成! 该参考手册主要由以下四部份内容组成: C++ 语言 C++ 继承了 C 语言 的大部分语法,并在其基础上修改或增加部分 ...