中文乱码问题和国际化
来源:互联网 发布:僵尸病毒 知乎 编辑:程序博客网 时间:2024/04/29 23:30
中文乱码问题
1、以post方式提交由中文字符的表单
在调用request.getParameter("")前,先调用request.setCharacterEncoding("GBK"),明确指出
编码方式,在向浏览器输出前调用response.setContenType("text/html;charset=GBK");
<%@ page contentType="text/html;charset=GBK" %>
2、以get方式提交
此时需要自己转码:
String value = request.getParameter("name");
value= new String(value.getByte("ISO-8859-1"),"GBK");
3、在数据库中存储中文字符
数据库一般默认的编码方式是ISO-8859-1,所以在讲中文存入到数据前,先要自己转码,取出后在解码
4、Servlet/jsp
在jsp文件中<%@page pageEncoding="GBK" %>
<%@ page contentType="text/html;charset=GBK" %>
可以用过滤器解决乱码问题
让tomcat支持中文文件名
在conf/server.xml文件中,在<Connector>元素添加URLEncoding属性,并将其值设置为"UTF-8"
如果调用response.sendRedirect()到中文文件名的页面,需要
response.sendRedirect(java.net.URLEncoding.encode("员工信息.html","UTF-8"));
国际化和本地化
国际化只要由两个类完成:Locale和ResourceBundle
Locale(String language)
Locale(String language,String country)
为了简化Locale对象的构造,Locale类中定义了许多Locale对象常量
Locale.CANADA,Locale.CHINA(对应国家)Locale.CHINESE,Locale.ENGLISH(对应语言)
getDefault()获取本地默认的Locale对象
getAvailableLocales(),获取java支持的所有语言环境
资源包,必须扩展ResourcBundle
不同语言对应的资源包为名称的基名加上ISO-639标准的语言代码,如myresource_en
获取资源包,调用
public static final ResourceBundle getBundle(String baseName),使用默认的Locale获取资源包
public static final ResourceBundle getBundle(String baseName,Locale locale)
public static final String getString(String key)获取资源包中key对应的内容
ResourceBundle有两个派生类:ListResourceBundle和PropertyResourceBundle,
PropertyResourceBundle,我们不需要直接使用它。
可以用native2ascii
消息格式化
在资源文件中的消息文本可以带参数:
greeting={0},欢迎你
花括号中的数字为一个占位符,可以使用0~9的数字,所以消息文本中的参数最多有10个,替换占位符,
可以使用java.text.MessageFormat format();
greeting={0},欢迎你。今天是{1}
Locale l = Locale.getDefault();
ResourceBundle rb = ResourcBundle.getBundle("myResource",l);
String str = rb.getString("greeting");
String msg = MessageFormat.format(str,"zhangsan","new Date()");
format参数的顺序与占位符的数字对应
- 中文乱码问题和国际化
- struts解决中文乱码和国际化问题
- Struts2中文国际化乱码问题
- struts的国际化文件和中文乱码问题
- struts2 国际化 中文乱码英文不乱码问题
- QT中文乱码 国际化
- 初接触JAVA国际化问题-解决JAVA中文字符乱码
- struts国际化带来的javascript 中文乱码问题
- 解决 IntelliJ IDEA 中 i18n国际化 中文乱码问题。
- 解决struts国际化和中文问题
- 解决struts国际化和中文问题
- 国际化及乱码问题
- Ext中文乱码和中文显示问题。
- struts中文问题和国际化问题的终极解决方案
- struts中文问题和国际化问题的终极解决方案
- struts中文问题和国际化问题的终极解决方案
- request中文乱码和response中文乱码问题
- JInto做国际化对中文支持不好,国际化完成后,打开网页可能会出现乱码的问题
- 也谈const 修饰符
- 结束外部程序的源代码
- 20091223日计划
- 数据库导入到出文件 操作
- 20091224日计划
- 中文乱码问题和国际化
- Symbian 错误收集
- 求职目标简历
- debian 系统备份
- imagine cup赛题
- Linux线程同步: 互斥量(mutex)
- 软件版本号详解
- U盘 Windows XP SP3制作
- 读“变革中的思索”