Spring MVC 为例,从前台—>后台—>前台的编解码过程及出现乱码的案例
来源:互联网 发布:mac版炒股软件 编辑:程序博客网 时间:2024/05/21 01:32
把String Encode 成 bytes 后,Decode 必须使用相同的编码集,否则可能出现乱码。
因为Java字符总是Unicode字符,所以在后文中,如果不加说明,“字符”或“char”都是指16位的Unicode字符,而“字节”或“byte”都是指8位字节。
案例一:为什么Java类中最好不要出现中文?
若将中文用 utf-8 写入 .java 文件中,编译后为 .class 文件,若一个中文操作系统(如中文XP)的JVM读取该 .class 文件,因为没有“谁”像Freemarker那样告诉JVM用什么编码集来decode,所以JVM会使用默认的GBK,此时出现乱码。
案例二:为什么用native2ascii处理过的资源文件 xxx.properties ,在被读取时不会出现中文乱码?
(参考人气博客:http://blog.csdn.net/sfdev/article/details/3770706)
所有的英文字母都对应到一个数字编码,这就是ASCII码(American Standard Code for Information Interchange)。ASCII码是最古老的字符编码,它总共只定义了7位共128个字母、数字和符号。但它是其它所有字符编码的基础。Unicode常用UTF-8和UTF-16来表示。7位的ASCII码不用作任何变化,就已经是UTF-8了。但UTF-8需要用3个字节来表示一个汉字。
GBK: 是双字节编码,是GB2312-80的扩充,在码位上和GB2312-80兼容。
UTF-8和GBK都是将unicode压缩后来使用的,而native2ascii将中文都转换成了unicode。
案例三:工作中解析Excel时遇到的问题,去除中文字符串中的特殊空格。
“施 兵”,实际情况中该string中间为一个特殊的空格。由nameStr.getBytes("utf-8")可知该空格的字节表示为{-62,-96}。
String nameStr = getCell(row.getCell(2));byte []b = {-62,-96};String blank = "";try { blank = new String(b, "UTF-8");} catch (UnsupportedEncodingException e) { e.printStackTrace();}String userName = nameStr.replaceAll(blank, "");
若 new String() 时不指定utf-8,则JVM会使用默认编码集,如GBK来decode。
- Spring MVC 为例,从前台—>后台—>前台的编解码过程及出现乱码的案例
- 从前台到后台再到数据库,中文字符乱码的问题
- 数据从前台传到后台乱码
- 从前台到后台的数组或集合为null问题
- 【Swift】从前台进入后台,从后台进入前台
- 解决AJAX从前台传递到后台在LINUX下出现乱码
- 前台页面传到后台的中文数据出现乱码问题
- 解析从前台传到后台的JSON -- ASP.NET
- 原始servlet+hibernate+struts2,从前台到后台的整个过程
- springmvc值的传递(从前台到后台)
- js前台编码,asp.net后台解码 防止前台传值到后台为乱码
- 使用Struts,前台提交给后台的汉字为乱码
- spring mvc前台取不到后台@ModelAtttribute的一种情况
- spring mvc前台时间字符串到后台Date的转换
- spring mvc前台时间字符串到后台Date的转换
- spring mvc前台时间字符串到后台Date的转换
- spring mvc前台时间字符串到后台Date的转换
- spring mvc前台时间字符串到后台Date的转换
- Web工程和引用工程引用了同一个jar包,部署项目后,会引用哪一个?
- 高亮显示搜索到的关键字-jquery.highlight.js的用法!
- MITK Geometry
- svn 删除所有的 .svn文件
- RabbitMQ学习一:hello world
- Spring MVC 为例,从前台—>后台—>前台的编解码过程及出现乱码的案例
- 蓝桥 算法训练 删除数组零元素
- 拿硬币的必胜方 轮流拿硬币 最后拿的输
- Eclipse 修改字体和皮肤
- iOS 应用程序跳转到appstore
- 符号英文名称
- 遍历map的方法
- Java中文档生成JavaDoc使用注意
- ios:UIAlertView自动消失