mysql 命令行中输入中文报错的解决办法

本文介绍了在使用MySQL时遇到的中文乱码错误,并提供了解决方案,包括临时修改和永久修改客户端编码的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在命令行操作中文时,会报错

insertinto user(username,password) values(‘张三,’123’);

ERROR1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column'username' at row 1

原因:因为mysql的客户端编码的问题我们的是utf8,而系统的cmd窗口编码是gbk

解决方案(临时解决方案):修改mysql客户端编码。

showvariables like 'character%'; 查看所有mysql的编码

client connetionresult 和客户端相关

database serversystem 和服务器端相关

  • 将客户端编码修改为gbk.

setcharacter_set_results=gbk; / set names gbk;

以上操作,只针对当前窗口有效果,如果关闭了服务器便失效。如果想要永久修改,通过以下方式:

  • mysql安装目录下有my.ini文件

default-character-set=gbk客户端编码设置

character-set-server=utf8服务器端编码设置

注意:修改完成配置文件,重启服务

### IntelliJ IDEA 连接 MySQL 时区错误解决方案 当使用 IntelliJ IDEA 连接到 MySQL 数据库时,如果遇到 `Server returns invalid timezone` 的错误提示,可以通过以下方法解决。 #### 方法一:修改 JDBC URL 配置 在配置数据库连接的 `config.xml` 文件中的 URL 参数部分,添加 `serverTimezone=GMT` 或者指定其他合适的时区参数。例如: ```xml <url>jdbc:mysql://localhost:3306/your_database?serverTimezone=UTC</url> ``` 此方式通过显式声明服务器端时区来避免默认时区不匹配的问题[^3]。 #### 方法二:通过 Advanced 设置调整时区 在 IntelliJ IDEA 中配置数据源时,可以进入 **Advanced** 页面找到 `serverTimezone` 属性,并将其值更改为适合的时区(如 `GMT`)。具体操作如下: - 打开数据源配置窗口; - 转至 **Advanced** 标签页; - 查找并设置属性 `serverTimezone` 值为所需时区,比如 `GMT` 或本地时区字符串[^4]。 #### 方法三:直接更改 MySQL 全局时区 也可以登录到 MySQL 控制台并通过命令行执行以下 SQL 来全局设定时间区域以及刷新权限表单: ```sql SET GLOBAL time_zone = '+8:00'; SET time_zone = '+8:00'; FLUSH PRIVILEGES; ``` 上述脚本会将当前实例的时间偏移量设为中国标准时间(+8小时),从而同步客户端和服务端之间的差异处理。 以上三种途径均能有效应对因未定义清楚服务方所在地理区域内所采用的标准时刻而导致的各种异常状况。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值