博客
关于我
mysql问题记录
阅读量:790 次
发布时间:2023-02-13

本文共 1196 字,大约阅读时间需要 3 分钟。

Mac下MySQL插入中文报错解决方法

在Mac环境下使用MySQL插入中文数据时,可能会出现乱码问题。以下是一些常见问题及解决方法,帮助你快速定位并解决问题。

1. 确认数据库字符集设置

数据库和表创建时,确保字符集设置为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;

2. 设置MySQL字符集

在MySQL终端或命令行工具中,执行以下命令确保字符集设置:

set names utf8;

3. 创建数据库和用户

确保数据库和用户权限设置正确。以下是创建用户和赋予权利的示例:

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

4. MySQL乱码问题

确保数据库和表使用正确的字符集。以下是一个典型的数据库创建示例:

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/

你可能感兴趣的文章
Mysql的InnoDB引擎的表锁与行锁
查看>>
mysql的InnoDB引擎索引为什么使用B+Tree
查看>>
MySQL的InnoDB默认隔离级别为 Repeatable read(可重复读)为啥能解决幻读问题?
查看>>
MySQL的insert-on-duplicate语句详解
查看>>
mysql的logrotate脚本
查看>>
MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
查看>>
MySQL的on duplicate key update 的使用
查看>>
MySQL的Replace用法详解
查看>>
mysql的root用户无法建库的问题
查看>>
mysql的sql_mode参数
查看>>
MySQL的sql_mode模式说明及设置
查看>>
mysql的sql执行计划详解
查看>>
mysql的sql语句基本练习
查看>>
Mysql的timestamp(时间戳)详解以及2038问题的解决方案
查看>>
mysql的util类怎么写_自己写的mysql类
查看>>
MySQL的xml中对大于,小于,等于的处理转换
查看>>
mysql的下载安装
查看>>
Mysql的两种存储引擎详细分析及区别(全)
查看>>
mysql的临时表简介
查看>>
MySQL的主从复制云栖社区_mysql 主从复制配置
查看>>