本文共 1196 字,大约阅读时间需要 3 分钟。
在Mac环境下使用MySQL插入中文数据时,可能会出现乱码问题。以下是一些常见问题及解决方法,帮助你快速定位并解决问题。
数据库和表创建时,确保字符集设置为utf8
。正确的做法是:
CREATE DATABASE xxx DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
create table test (id INT auto_increment primary key, name varchar(20) not null) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
在MySQL终端或命令行工具中,执行以下命令确保字符集设置:
set names utf8;
确保数据库和用户权限设置正确。以下是创建用户和赋予权利的示例:
create user 'sopr'@'%' identified by 'sopr';
GRANT ALL PRIVILEGES ON *.* TO 'sopr'@'%' IDENTIFIED BY 'sopr' WITH GRANT OPTION;
执行后,记得刷新权限:
flush privileges;
最后,重启MySQL服务:
sudo service mysqld restart
确保数据库和表使用正确的字符集。以下是一个典型的数据库创建示例:
CREATE SCHEMA IF NOT EXISTS `jdsopr` DEFAULT CHARACTER SET utf8 COLLATE 'utf8_general_ci';
使用数据库:
USE `jdsopr` ;
创建表时,确保字符集设置为utf8
:
CREATE TABLE IF NOT EXISTS `jdsopr`.`sopr_group` ( `groupid` INT NOT NULL AUTO_INCREMENT, `groupname` VARCHAR(64) NOT NULL, `approver` VARCHAR(64) NULL, `createtime` DATETIME NOT NULL, `isdelete` INT NOT NULL DEFAULT 0, PRIMARY KEY (`groupid`), UNIQUE INDEX `groupName_UNIQUE` (`groupname` ASC)) ENGINE = InnoDB DEFAULT CHARSET=utf8;
通过以上步骤,你可以有效避免MySQL在Mac环境下插入中文数据时的乱码问题。
转载地址:http://vqdfk.baihongyu.com/