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

MySQL Workbench编码修改失败及西里尔字符乱码问题求助

解决MySQL Workbench数据库编码修改及西里尔字符乱码问题

一、强制修改数据库及表的UTF-8编码(解决Workbench界面修改无效问题)

Workbench界面修改编码偶尔会出现同步失效的情况,直接执行SQL语句是最可靠的方式:

  1. 修改数据库默认编码
    打开Workbench的查询编辑器,执行以下SQL(替换pess为你的数据库名):

    ALTER DATABASE `pess` CHARACTER SET utf8 COLLATE utf8_general_ci;
    

    执行后验证修改结果:

    SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME 
    FROM INFORMATION_SCHEMA.SCHEMATA 
    WHERE SCHEMA_NAME = 'pess';
    
  2. 修改现有表及字段的编码
    数据库默认编码仅影响新创建的表,已有表需要单独修改:

    • 单表修改(替换your_table_name为表名):
      ALTER TABLE `your_table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
      
    • 批量修改所有表:
      执行以下语句生成批量修改的SQL,复制结果执行即可:
      SELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') 
      FROM INFORMATION_SCHEMA.TABLES 
      WHERE TABLE_SCHEMA = 'pess';
      

二、解决CSV导入西里尔字符乱码问题

乱码的核心是导出、导入环节的编码不匹配,按以下步骤操作:

  1. 导出CSV时确保编码正确
    在phpMyAdmin导出CSV时,确认编码选择为UTF-8,避免使用系统默认编码。

  2. 导入CSV时指定UTF-8编码

    • 用Workbench导入向导:在导入流程的「Advanced Options」中,将「Character Set」设置为utf8。
    • 用SQL语句导入(更可控):
      LOAD DATA INFILE '/本地文件路径/你的文件.csv'
      INTO TABLE `目标表名`
      CHARACTER SET utf8
      FIELDS TERMINATED BY ',' ENCLOSED BY '"' -- 匹配CSV的分隔符和引号规则
      LINES TERMINATED BY '\n'
      IGNORE 1 ROWS; -- 若CSV包含表头则添加此行
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 16:45:03