java - 如何从用户名不和谐中将特殊字母存储在mysql中?
问题描述
我将有关不和谐用户的信息保存到我的 MySQL 数据库中,当用户具有像“John”这样的标准昵称但是当他们有像“”或“ѕт”这样的特殊字符时,我没有问题。我应该在哪里更改编码以支持这些字符?我得到的错误:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9D...' for column 'discord_name' at row 1
过去我尝试将 JdbcURL 更改为:
jdbc:mysql://" + HOST + "/" + DB + "?useUnicode=true&characterEncoding=UTF8
我将 useUnicode 和 characterEndocing 添加到 UTF8(我尝试使用 utf-8)并在 phpmyadmin 中我将 colaction 设置为:utf8mb4_unicode_ci
使用 Hikari 连接到数据库:
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://" + HOST + "/" + DB + "?useUnicode=true&characterEncoding=UTF8");
config.setUsername(USER);
config.setPassword(PASS);
我的查询:
INSERT INTO `discord_user`" +
"(`discord_id`,`discord_name`," +
" `is_connected`, `code`, `update_at`, `create_at`," +
"`join_date`) VALUES " +
"($1, $2, $3, $4, $5, $6, $7)
我希望以可读的人类格式保存用户昵称。我不想序列化它。实际上我只是跳过将昵称放入数据库。
解决方案
推荐阅读
- javascript - 如何从控件接收属性以对 CanJS 建模(定义模块)
- python - 使用带有 defaultdict 的附加时的 KeyError(Key)
- javascript - JavaScript 中的游戏问题,点击时警报来得太快
- android - 如何更改 AdMob 货币
- python - 将 Lightstreamer 与 IG Index API 一起使用
- python - 为什么我在输出 GAN 模型上得到这些线
- node.js - MongoDB Atlas 连接在 Heroku for NodeJS 上不起作用
- reactjs - 带有graphql-request的SWR如何在swr中添加变量?
- java - Swagger 没有显示我的控制器。试过邮递员,我的端点仍然失败
- java - Oracle jpa 无法插入空值