mysql传入中文乱码
时间: 2024-07-23 13:00:53 浏览: 97
当你在MySQL数据库中处理包含中文字符的数据时,可能会遇到编码问题导致显示乱码。这通常涉及到客户端、服务器端以及数据之间的字符集设置不一致。以下是解决这个问题的一些步骤:
1. **设置MySQL字符集**:
- 对于MySQL服务器,确保`character-set-server`变量设置为中国常用的字符集,如`utf8mb4`,它支持多字节字符,包括UTF-8编码。
```
SET GLOBAL character_set_server = 'utf8mb4';
```
- 创建表时指定正确的字符集:
```sql
CREATE TABLE table_name (column_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci);
```
2. **连接字符集**:
- 客户端(如phpMyAdmin、MySQL Workbench等)连接数据库时,确保选择正确的字符集连接。
- PHP代码示例:
```php
$conn = mysqli_connect('localhost', 'username', 'password', 'database', '', '');
mysqli_set_charset($conn, 'utf8mb4');
```
3. **插入和查询数据**:
- 插入数据时,确保使用正确的编码字符串:
```sql
INSERT INTO table_name (column_name) VALUES ('你好世界');
```
- 查询时也要正确处理结果:
```sql
SELECT column_name FROM table_name WHERE column_name = '你好世界';
```
如果按照上述步骤操作仍然有问题,检查所有相关的配置文件(如my.cnf),确保在整个系统中统一了字符集设置。