javafont类设置中文编码

javafont类设置中文编码,第1张

javafont类用于设置字体属性,可以用来设置中文编码。

1、首先,创建一个Font对象,用来表示字体的属性。

Font font = new Font("宋体", Font.PLAIN, 20)

2、然后,创建一个新的Font对象,用来设置中文编码。

Font font2 = font.deriveFont(Font.TRUETYPE_FONT, "GBK")

3、最后,将新的Font对象设置成当前的字体。

Font font3 = font2.deriveFont(Font.TRUETYPE_FONT, 20)

这样就可以将字体的中文编码设置成GBK了。

服务器端

修改数据库配置文件/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编码读取产生任何问题。


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

原文地址:https://54852.com/tougao/7686894.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存