本文目录一览:
- java如何把string转为utf-8
- 用java的程序在复制.java文件的时候中文出现乱码 ,如何添加UTF-8的代码
- java怎么设置utf8
- 怎么在java里设置utf-8
- java怎么设置为utf-8的编码
- 如何设置Java JDK的默认编码为UTF-8
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填补。
用java的程序在复制.java文件的时候中文出现乱码 ,如何添加UTF-8的代码
用 InputStreamReader
代替 FileReader
:
InputStreamReader isr = new InputStreamReader(new FileInputStream(fileName), "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 utf8mb4;
使用下面这个语句只是修改了表的 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 usingcharacterEncoding=...
asutf8mb4
in theSET 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
如图所示,右键点击文件名,在右键菜单里选择 Properties,可以设置文件编码,选择 UTF-8 就可以了。
java怎么设置为utf-8的编码
要让一个 Java 源文件打开时编码格式为 UTF-8,需要做 2 件事情:
- 设置 Java 源文件的默认编码格式为 UTF-8;
- 设置 workspace 的编码格式为 UTF-8。
相应设置如下:
设置 Java 源文件的默认编码格式为 UTF-8
在 Windows -> Preference 页面中,选择 General -> Content Types。 在右边的框中,选择 Text -> Java Source File,将下面的 Default Encoding 改为 UTF-8。
设置 workspace 的编码格式为 UTF-8
在 Windows -> Preference 页面中,选择 General -> WorkSpace。 选择右侧框中的 Text File encoding,改为 UTF-8。 设置完这 2 处,默认打开 Java 源文件就是 UTF-8 编码了。
如何设置Java JDK的默认编码为UTF-8
现在就可以在系统环境变量中增加一个变量,变量名为:
JAVA_TOOL_OPTIONS
变量值为:
-Dfile.encoding=UTF-8
保存,重新打开命令提示符即可生效。