项目开发时,在配置springmvc 校验错误提示信息时,配置到properties的中文,在前端取出时,显示为乱码,可以确定properties 配置文件已经被设为UTF-8编码,在springmvc.xml 给处理器适配器配置指定错误提示信息配置文件时,资源文件格式也是设为UTF-8的,但是调试时发现通过注解获取的properties包含中文的属性就是乱码,网上搜索了一晚上才找到解决方案,具体如下:

  1 java读取一些自写的properties配置文件,如果包含中文则需要进行转码读取或转码存储

普通的方法无非两种:
① 用java命令行工具native2ascii,这种方法是转码存储。
② java读取properties key的时候用转码new String(  key.getBytes("ISO-8859-1"),"gbk" ),这种方法是转码读取。
第一种方法优点在于编写的时候没有任何障碍,缺点是在部署的时候麻烦点,需要用命令转了以后再放到项目里,如果频繁更改文件内容的话,是挺烦的。
第二种方法优点在于编写键值对的时候没有障碍,部署时也无需再手动更改编码,但是在java代码里需要更改读取方式,而且这种读取时转码也挺费时的。
 

2 那么有没有办法既不用读取时更改代码转码,也不用存储时手工转码的方法呢

答案是有的,myeclipse自带的编辑器myeclipse properties editor就可以,在工程里用它打开properties文件(默认打开方式),然后选properties标签页,这时能看到排列整齐的键值对,只需要填值就可以了,myeclipse会自动转为ascii的编码来存储的。
 myeclipse properties editor:

然后双击打开查看,输入的键值对已经自动被转为ascii的编码,前端取出也不会出现乱码

如果没有myeclipse怎么办
用UltraEdit编辑器,编写中文配置文件prop_cn.properties,在保存后再点击另存为,文件名为prop.properties,编码选择unicode ascii就可以了
 
转自:http://blog.sina.com.cn/s/blog_74a86d520101aj24.html

Java 显示读取properties 乱码解决方案的更多相关文章

  1. 五种方式让你在java中读取properties文件内容不再是难题

    一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...

  2. Java中读取properties资源文件

    一.通过ResourceBundle来读取.properties文件 /** * 通过java.util.resourceBundle来解析properties文件. * @param String ...

  3. Java中读取.properties配置文件的通用类

    由于Java中读取配置文件的代码比较固定,所以可以将读取配置文件的那部分功能单独作为一个类,以后可以复用.为了能够达到复用的目的,不能由配置文件中每一个属性生成一个函数去读取,我们需要一种通用的方法读 ...

  4. Java中读取 .properties 和 .xml 文件

    配置文件内容获取 总结内容 1. Java中为什么要使用配置文件 2. Java中常用的配置文件类型有哪些以及它们的特点 Properties配置文件 XML配置文件 总结 总结内容 1. Java中 ...

  5. java类读取properties文件

    package com.bshinfo.el.userInfo.util; import java.io.BufferedReader;import java.io.File;import java. ...

  6. mac 上iterm终端显示中文为乱码解决方案

    1.首先需要去设置下iterm,的终端编码方式为utf-8 检查方案为:iterm - > perferences - > Terminal ->Character Encoding ...

  7. Java程序读取Properties文件

    一.如果将properties文件保存在src目录下 1.读取文件代码如下: /** * 配置文件为settings.properties * YourClassName对应你类的名字 * / pri ...

  8. Java 代码读取properties文件

    jdk1.6 package read;import java.io.File;import java.io.FileInputStream;import java.io.IOException;im ...

  9. Java配置文件读取中文乱码问题

    背景 这是我之前在做的用友服务对接开发,昨天领导拿给财务测试时告诉我有乱码,当时我第一想法是用友那边的编码格式有问题,因为还在做其他任务,我说等问一下用友他们用的什么编码格式我们这边改一下,然后今天早 ...

随机推荐

  1. .NET WebAPI 利用特性捕捉异常

    声明:本方式及代码只使用与.NET Web API. 先创建类继承ExceptionFilterAttribute类型并复写OnException方法. 代码如下: using System; usi ...

  2. Mybatis框架基础支持层——日志模块(8)

    前言: java开发中常用的日志框架有Log4j,Log4j2,Apache Commons Log,java.util.logging,slf4j等,这些工具对外的接口不尽相同.为了统一这些工具的接 ...

  3. Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 解决办法

    今天在Ubuntu16.04 上安装python包的时候,出现了这个坑爹的问题: 解决办法,内容总结如下 情况是这样,报错是因为没有把依赖包安装全,报错情况如下图: 解决办法,先安装一些必须的依赖: ...

  4. WordCount结对项目

    合作者:201631062124,201631062423 代码地址:https://gitee.com/yryx/WordCount 作业地址:https://edu.cnblogs.com/cam ...

  5. 关于MongoDB数据库的日志解析

    MongoDB日志记录了数据库实例的健康状态.语句的执行状况.资源的消耗情况,所以日志对于分析数据库服务和性能优化很有帮助. 因此,很有必要花费一些时间来学习解析一下MongoDB的日志文件. 日志信 ...

  6. js调用浏览器打印指定div内容

    --打印按钮事件 function printForm(){    var headstr = '<html xmlns:th="http://www.thymeleaf.org&qu ...

  7. c/c++ 多线程 boost的读写(reader-writer)锁

    多线程 boost的读写(reader-writer)锁 背景:保护很少更新的数据结构时,c++标准库没有提供相应的功能. 例如:有个DNS条目缓存的map,基本上很少有更新,大部分都是读取,但是偶尔 ...

  8. php操作Memcache的一个类库

    ###php操作Memcache的一个类库 代码如下: <?php /** * Created by PhpStorm. * User: alisleepy * Date: 2019-03-14 ...

  9. JavaScript -- 原型:prototype的使用

    JavaScript -- 原型:prototype的使用 在 JavaScript 中,prototype 是函数的一个属性,同时也是由构造函数创建的对象的一个属性. 函数的原型为对象. 它主要在函 ...

  10. WebRtc编译好的vs2015源码

    一直想看webrtc的源码,苦于FQ能力有限且整个编译过程耗时巨大,故求助于互联网.在互联网寻找许久编译好的Webrtc源码,好多版本下载下来总是报各种错误,很是失落. 皇天不负有心人,终于寻得一版可 ...