java怎么设置utf8

java怎么设置utf8,第1张

服务器端

修改数据库配置文件/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工作区统一编码。统一为utf-8

这个就是输出流的编码问题吧?如果你在输出时指定好具体的编码,或者说指定跟原网页一直的编码。

如果你期望写到文件中的汉字是 GBK编码,可以写文件时,将字符串准换成 GBK编码的byte[]。

网页编码和输出流编码一致。

可通过以下代码转:

/**

* Get XML String of utf-8

*

* @return XML-Formed string

*/

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

}

Java programming language具有目前大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的"形式和感觉",但它要比C++语言更易于使用,而且在编程时彻底采用了一种"以对象为导向"的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式 *** 作。

Java是Sun微系统公司在1995年推出的,推出之后马上给互联网的交互式应用带来了新面貌。目前,最常用的两种互联网浏览器软件中都包括一个Java虚拟机。几乎所有的 *** 作系统中都增添了Java编译程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11895609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存