项目开发时,在配置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. 杭电ACM2008--数值统计

    数值统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  2. UED视觉交互设计与流程介绍

    UED视觉交互设计与流程介绍 ------------------------------------------------------------------ 今天先到这儿,希望对您技术领导力, ...

  3. 批量修改mac系统文件的可读写权限

    www 修改 /Users/feiwang 文件夹下的www 下的所有文件和文件的可读写权限.

  4. Java开发笔记(五十八)简单接口及其实现

    前面介绍了抽象方法及抽象类的用法,看似解决了不确定行为的方法定义,既然叫唤动作允许声明为抽象方法,那么飞翔.游泳也能声明为抽象方法,并且鸡类涵盖的物种不够多,最好把这些行为动作扩展到鸟类这个群体,于是 ...

  5. springboot之配置文件

    springboot在加载配置文件的时候是有先后顺序的,了解加载配置文件的先后顺序,可以减少编写程序出现错误 1 springboot加载配置文件的先后顺序如下: SpringApplication将 ...

  6. TreeView 节点拖拽

    public Form1() { InitializeComponent(); treeView1.AllowDrop = true; treeView1.ItemDrag += new ItemDr ...

  7. iOS pthread

    pthread 是属于 POSIX 多线程开发框架 创建线程的方法:pthread_create   参数含义: 1.指向线程代号的指针 2.线程的属性 3.指向函数的指针 4.传递给该函数的参数 返 ...

  8. js学习之路1: 初识js函数

    1. 简单的函数: <html> <head> <script type="text/javascript"> function myfunct ...

  9. SM4加密算法实现Java和C#相互加密解密

    SM4加密算法实现Java和C#相互加密解密 近期由于项目需要使用SM4对数据进行加密,然后传给Java后台,Java后台使用的也是SM4的加密算法但是就是解密不正确,经过一步步调试发现Java中好多 ...

  10. Allowed memory size of 134217728 bytes exhausted解决办法(php内存耗尽报错)【简记】

    报错: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) i ...