MySQL数据库和表都为utf8mb4_0900_ai_ci IDEA编码为UTF-8 为什么IDEA使用JDBC查询出来的数据会乱码?
时间: 2024-05-27 12:13:34 浏览: 7
可能是因为IDEA连接MySQL时没有指定使用utf8mb4字符集,导致默认使用的是UTF-8字符集,与MySQL的字符集不匹配,因此查询出来的数据会乱码。解决方法是在IDEA连接MySQL时指定使用utf8mb4字符集,可以在连接字符串中添加字符集参数,例如:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8mb4。
相关问题
mysql怎么把 utf8mb4_general_ci改变为utf8mb4_0900_ai_ci
要将MySQL的字符集从utf8mb4_general_ci改变为utf8mb4_0900_ai_ci,可以按照以下步骤进行操作:
1. 确保你的MySQL版本是8.0.1或更高版本。因为utf8mb4_0900_ai_ci是MySQL 8.0及更高版本的默认排序规则。
2. 首先,备份你的数据库以防止意外数据丢失。
3. 打开MySQL的配置文件my.cnf或my.ini(根据你的操作系统和MySQL安装方式而定)。
4. 在配置文件中找到[mysqld]部分,并添加以下行:
collation-server = utf8mb4_0900_ai_ci
character-set-server = utf8mb4
5. 保存并关闭配置文件。
6. 重启MySQL服务,以使更改生效。
7. 确认更改是否成功。可以通过运行以下查询语句来验证:
SHOW VARIABLES LIKE 'collation_server';
SHOW VARIABLES LIKE 'character_set_server';
8. 如果查询结果显示collation_server为utf8mb4_0900_ai_ci,character_set_server为utf8mb4,则表示更改已经成功。
请注意,修改MySQL的字符集配置是一个敏感的操作,请在进行任何更改之前,确保你已经备份了数据,并且了解潜在的风险和影响。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [mysql设置了utf8mb4,为什么还有utf8mb4_general_ci和utf8mb4_0900_ai_ci?](https://blog.csdn.net/LINgZone2/article/details/129730790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [MySQL 编码utf8 与 utf8mb4 utf8mb4_unicode_ci 与 utf8mb4_general_ci](https://download.csdn.net/download/weixin_38694141/14832202)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
mysql8默认排序utf8mb4_0900_ai_ci怎样改为utf8mb4_general_ci
要将MySQL 8的默认排序从utf8mb4_0900_ai_ci改为utf8mb4_general_ci,请按照以下步骤操作:
1. 连接 MySQL 数据库。
2. 运行以下命令:
```
ALTER DATABASE `database_name` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
将database_name替换为您要更改排序设置的数据库名称。
3. 修改数据库中所有表的排序设置。这可以通过运行以下命令实现:
```
ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
将table_name替换为您要更改排序设置的表名称。请注意,您必须为数据库中的每个表重复此操作。
完成以上步骤后,您的MySQL 8数据库的默认排序应该已从utf8mb4_0900_ai_ci更改为utf8mb4_general_ci。