插入Linux的MySQL的中文数据显示????怎么解决
时间: 2023-11-18 13:56:05 浏览: 99
这个问题可能是由于MySQL容器字符集不是utf8导致的。解决方法有两种:
1.将MySQL容器字符集改为utf8mb4。可以通过以下步骤实现:
a.查看当前字符集设置:show variables like 'character_set_%';
b.将三个变量的值改为utf8mb4:set @@character_set_results = 'utf8mb4'; set @@character_set_connection = 'utf8mb4'; set @@character_set_client = 'utf8mb4';
2.使用utf8mb4编码插入中文数据。如果您尝试使用Latin1编码存储非拉丁字符,例如中文,则它们最终将以mojibake的形式出现。因此,使用utf8mb4编码可以避免这个问题。
相关问题
linux mysql命令插入数据
可以使用以下命令在 MySQL 中插入数据:
1. 连接到 MySQL 数据库:`mysql -u username -p`
2. 选择要插入数据的数据库:`use database_name;`
3. 插入数据:`INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);`
例如,要向表 `student` 中插入一条数据,其中 `id` 为 1001,`name` 为 "张三",`age` 为 20,可以使用以下命令:
```
INSERT INTO student (id, name, age) VALUES (1001, '张三', 20);
```
注意,如果表中存在自增列,可以省略该列的插入。
如果要插入多条数据,可以使用以下命令:
```
INSERT INTO student (id, name, age) VALUES (1001, '张三', 20), (1002, '李四', 21), (1003, '王五', 22);
```
这将向 `student` 表中插入三条数据。
linux中mysql插入中文数据乱码
在 Linux 中,如果 MySQL 插入中文数据出现乱码,可以尝试以下方法:
1. 修改 MySQL 配置文件 my.cnf,在 [mysqld] 下加入以下内容:
```ini
character_set_server=utf8mb4
collation-server=utf8mb4_unicode_ci
```
2. 重启 MySQL 服务。
3. 在插入数据之前,先执行以下命令:
```sql
SET NAMES utf8mb4;
```
或者
```sql
SET character_set_client=utf8mb4;
```
这将设置 MySQL 客户端的字符集为 utf8mb4。
4. 在插入数据时,确保数据的编码为 utf8mb4。可以在命令行中执行以下命令:
```sql
INSERT INTO table_name (column1, column2) VALUES ('中文数据', 'more data');
```
或者在脚本中指定编码:
```python
# -*- coding: utf-8 -*-
```
以上是解决 MySQL 插入中文数据乱码的一些基本方法,如果还有问题可以进一步排查 MySQL 的字符集设置和应用程序的编码设置。
阅读全文