关于java设置utf8编码的信息
本篇文章给大家谈谈java设置utf8编码,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、javaee怎么设置utf-8
- 2、怎么在java里设置utf-8
- 3、java怎么设置utf8
- 4、java如何把string转为utf-8
- 5、如何设置Java JDK的默认编码为UTF-8
- 6、java怎么把把字符转成utf-8
javaee怎么设置utf-8
第一原则:所有编码的地方,统一设为UTF-8,这样繁体,简体,日文,韩文。。。通吃了)
一、下载中文文件名文件问题
a)Tomcat:修改Tomcat安装目录下conf/server.xml文件,加上URIEncoding="UTF-8"/ Connector port="8080" .... URIEncoding="UTF-8"/ b)JBOSS :安装目录下 server/default/deploy/jbossweb-tomcat55.sar/server.xml Connector port="8080" .... URIEncoding="UTF-8"/
二、表单get/post传递中文乱码
我们用一个过滤器,将所有编码转换为UTF-8
找到Tomcat安装目录下\webapps\jsp-examples\WEB-INF\classes\filters下RequestDumperFilter.java,SetCharacterEncodingFilter.java两个文件。加入到你的项目,修改包路径.
在web.xml文件中部署这个过滤器
filter filter-nameSet Character Encoding/filter-name filter-classSetCharacterEncodingFilter.java 的类路径/filter-class init-param param-nameencoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameSet Character Encoding/filter-name url-pattern/*/url-pattern /filter-mapping
三、jsp页面模版
所有jsp页面使用如下模版
%@ page language="java" pageEncoding="UTF-8"% !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" html head meta http-equiv=content-type content="text/html; charset=UTF-8" title /title /head body /body /html
四、数据库以Unicode编码存储数据
MySQL数据库设置
a)windows系统: windows下安装mysql时,编码选择utf-8,查看mysql安装目录下my,ini文件,在[mysqld]段下面加入default-character-set=utf8
b)linux系统:/etc/mysql/下my.cnf文件,在[mysqld]段下面加入default-character-set=utf8
五、JDBC连接参数
注意:xml文件中,""是不能直接使用的, 代替
Mysql数据库jdbc 连接参数
jdbc:mysql://localhost/kms useUnicode=truecharacterEncoding=utf-8
sql server数据库jdbc连接参数(强烈建议使用JTDS驱动,比微软官方驱动更好)
jdbc:jtds:sqlserver://localhost:1433/kms;TDS=8.0;charset=utf-8;SendStringParameterAsUnicode=true
怎么在java里设置utf-8
如图所示,右键点击文件名,在右键菜单里选择
Properties,可以设置文件编码,选择UTF-8就可以了
java怎么设置utf8
服务器端
修改数据库配置文件/etc/my.cnf
character-set-server=utf8mb4
collation_server=utf8mb4_unicode_ci
重启MySQL(按照官方文档,这两个选项都是可以动态设置的,但是实际的经验是Server必须重启一下)
已有的表修改编码为utf8mb4
ALTER TABLE
tbl_name
CONVERT TO CHARACTER SET
charset_name;
使用下面这个语句只是修改了表的default编码
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;
客户端
jdbc的连接字符串不支持utf8mb4,这个 这种方式 来解决的,如果服务器端设置了character_set_server=utf8mb4,则客户端会自动将传过去的utf-8视作utf8mb4。
Connector/J did not support utf8mb4 for servers 5.5.2 and newer.
Connector/J now auto-detects servers configured with character_set_server=utf8mb4 or treats the Java encoding utf-8 passed using characterEncoding=... as utf8mb4 in the SET NAMES= calls it makes when establishing the connection. (Bug #54175)
其他的client端,比如php、python需要看下client是否支持,如果不能在连接字符串中指定的话,可以在获取连接之后,执行”set names utf8mb4″来解决这个问题;
因为utf8mb4是utf8的超集,理论上即使client修改字符集为utf8mb4,也会不会对已有的utf8编码读取产生任何问题。
java如何把string转为utf-8
java不同编码之间进行转换,都需要使用unicode作为中转。
String str = "任意字符串";
str = new String(str.getBytes("gbk"),"utf-8");
备注说明:
str.getBytes("UTF-8"); 意思是以UTF-8的编码取得字节
new String(XXX,"UTF-8"); 意思是以UTF-8的编码生成字符串
举例:
public static String getUTF8XMLString(String xml) {
// A StringBuffer Object
StringBuffer sb = new StringBuffer();
sb.append(xml);
String xmString = "";
String xmlUTF8="";
try {
xmString = new String(sb.toString().getBytes("UTF-8"));
xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");
System.out.println("utf-8 编码:" + xmlUTF8) ;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// return to String Formed
return xmlUTF8;
扩展资料:
UTF-8编码规则:
如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。
实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成,首字节连续的1的个数表示字符编码所需的字节数。
Unicode转换为UTF-8时,可以将Unicode二进制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。
参考资料来源:百度百科:UTF-8
如何设置Java JDK的默认编码为UTF-8
现在就可以在系统环境变量中增加一个变量,变量名为: JAVA_TOOL_OPTIONS, 变量值为:-Dfile.encoding=UTF-8,保存,重新打开命令提示符,
java怎么把把字符转成utf-8
java不同编码之间进行转换,都需要使用unicode作为中转。
以utf-8转gbk为例,示例代码如下:
String t = "这是一个字符串aaa111";
String utf8 = new String(t.getBytes( "UTF-8"));
System.out.println(utf8);
String unicode = new String(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
String gbk = new String(unicode.getBytes("GBK"));
System.out.println(gbk);
关于java设置utf8编码和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。