javautf8的简单介绍

发布时间:2023-01-09

本文目录一览:

  1. java下如何设置utf-8
  2. java怎么把把字符转成utf-8
  3. java怎么设置utf8
  4. java怎么设置为utf-8的编码
  5. java如何把string转为utf-8

java下如何设置utf-8

可以直接在开发工具中设置java文件的编码: eclipse文件编码设置:

  1. 点击window。
  2. 在列表最下点击reference。
  3. 在reference界面点击Workspace
  4. 在右边的Tex file encoding点击Other。
  5. 选择 GBK或者 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

服务器端

修改数据库配置文件 /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的编码

要让一个 Java 源文件打开时编码格式为 UTF-8,需要做2件事情:

  1. 设置Java源文件的默认编码格式为UTF-8;
  2. 设置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如何把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