• Java 显示读取properties 乱码解决方案


    项目开发时,在配置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
  • 相关阅读:
    About_Web
    神奇的 SQL 之性能优化 → 让 SQL 飞起来
    Java实现Kafka生产者和消费者的示例
    Android屏幕绘制一问到底(无代码)
    关于数据库事务和锁的必会知识点,你掌握了多少?
    【Azure Cloud Services】云服务频繁发生服务器崩溃的排查方案
    Choreographer全解析
    气之争,聊聊算法岗位的门户之见!
    资深首席架构师预测:2021年云计算的8个首要趋势
    【并发编程】- 内存模型(针对JSR-133内存模型)篇
  • 原文地址:https://www.cnblogs.com/Latiny/p/8917270.html
Copyright © 2020-2023  润新知