You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL CLI与Workbench字符集不一致及chcp报错解决方案问询

MySQL Workbench 8.0.27 非英文环境chcp报错及字符集不一致解决方案

以下方案均无需降级版本、无需修改系统全局配置,风险可控:


方案1:批处理脚本启动(零代码修改,优先推荐)

完全不改动Workbench内置文件,仅自定义启动脚本:

  1. 新建文本文档,写入以下内容:
@echo off
:: 临时切换当前会话代码页为UTF-8,不影响全局
chcp 65001 > nul
:: 启动Workbench,路径请和你本地的安装路径保持一致
start "" "C:\Program Files\MySQL\MySQL Workbench 8.0\MySQLWorkbench.exe"
  1. 将文件后缀修改为.bat,放置在桌面等方便访问的位置,后续双击该脚本启动Workbench即可。

原理:仅对Workbench运行的会话生效,不会修改系统全局代码页,也不会干扰其他软件的字符集表现。


方案2:安全修改os_utils.py文件(适配所有代码页,无硬编码风险)

如果不想每次通过批处理启动,可以修改内置Python文件的逻辑,和网上硬改固定编码的方式不同,本方案动态适配系统编码,不会引发兼容问题:

  1. 打开路径C:\Program Files\MySQL\MySQL Workbench 8.0\workbench\os_utils.py,在文件头部导入模块的区域新增一行:
import locale
  1. 找到你提到的subprocess.Popen代码行,将encoding="utf-8"替换为encoding=locale.getpreferredencoding(),修改后完整代码为:
process = subprocess.Popen(command, stdin = subprocess.PIPE, encoding=locale.getpreferredencoding(), stdout = subprocess.PIPE, stderr = subprocess.STDOUT, shell=True)
  1. 保存文件后重启Workbench即可生效。

方案3:修改快捷方式启动参数

无需新增额外文件,直接修改原有快捷方式配置即可:

  1. 右键点击MySQL Workbench的桌面快捷方式,选择「属性」
  2. 在「目标」输入框的原有路径末尾,先加一个空格,再追加参数--default-character-set=utf8,修改后示例:
"C:\Program Files\MySQL\MySQL Workbench 8.0\MySQLWorkbench.exe" --default-character-set=utf8
  1. 点击「确定」保存配置,后续直接双击快捷方式启动即可。

字符集不一致问题补充修复

针对MySQL CLI和Workbench查询返回字符集结果不一致的问题,可通过以下配置统一:

  1. 打开Workbench的连接编辑页面,切换到「高级」标签
  2. 在「Others」下方的输入框中添加如下SQL:
SET NAMES utf8mb4;
  1. 保存连接配置后重新连接数据库,两边字符集查询结果即可统一。

内容的提问来源于stack exchange,提问作者hansf14

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:15:02