Windows中mysql的配置文件,解决字符集编码问题,统一使用utf8字符集

登录到mysql数据库中,输入

show variables like "%character_set%";

查看默认字符集

我们正常创建的数据库就是下面这样子的

(默认的字符集为 latin1)

这就会导致在Windows中使用的时候经常会因为字符集的编码问题出现不能导入其他的备份库的情况下,下面就给出两种解决方案

1.创建数据库的时候直接设置

create database myDatabase default char set utf8;

2.配置my.ini文件

  在mysql安装的目录下面

如果没有文件,就新建一个文件名为my.ini的文件,编辑该文件,内容为以下:

[client]
port=3306

[mysql]
no-beep

default-character-set=utf8

[mysqld]
port=3306

# mysql根目录
basedir=D:\DateBase\mysql-5.7.27

# 放所有数据库的data目录
datadir=D:\DateBase\mysql-5.7.27\data

# character-set-server=
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8  

# 默认存储引擎innoDB
default-storage-engine=INNODB

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

#日志输出为文件
log-output=FILE

# 是否开启sql执行结果记录,必须要设置general_log_file参数,日志的路径地址
# 即日志跟踪,1为开启,0为关闭
general-log=0
general_log_file="execute_sql_result.log"

# 配置慢查询,5.7版本默认为1
slow-query-log=1
slow_query_log_file="user-slow.log"
long_query_time=10

#默认不开启二进制日志
#log-bin=mysql-log

#错误信息文件设置,会将错误信息放在data/mysql.err文件下
log-error=mysql.err

# Server Id.数据库服务器id,这个id用来在主从服务器中标记唯一mysql服务器
server-id=1

#lower_case_table_names: 此参数不可以动态修改,必须重启数据库
#lower_case_table_names = 1  表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=0  表名存储为给定的大小和比较是区分大小写的
#lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
lower_case_table_names=1

#限制数据的导入导出都只能在Uploads文件中操作,这个是在sql语句上的限制。
#secure-file-priv="D:\AppServ\mysql-5.7.23/Uploads"
#值为null ,也就是注释掉这个参数或者secure-file-priv=null。表示限制mysqld 不允许导入|导出
#值为/tmp/ ,即secure-file-priv="/tmp/" 表示限制mysqld 的导入|导出只能发生在/tmp/目录下
#没有具体值时,即secure-file-priv=      表示不对mysqld 的导入|导出做限制

# 最大连接数
max_connections=151
# 打开表的最大缓存数
table_open_cache=2000

# tmp_table_size 控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定
tmp_table_size=16M

# 每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁,
# 如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。
# 最大缓存线程数量
thread_cache_size=10

  再次查询一下默认编码集:

再次创建数据库测试:

字符编码已经没有问题了!

原文地址:https://www.cnblogs.com/jjking/p/11505460.html

时间: 2024-08-29 17:24:51

Windows中mysql的配置文件,解决字符集编码问题,统一使用utf8字符集的相关文章

浅谈java使用指定字符集编码,以及常见的字符集

问题的引入:在InputStreamReader(OutputStreamWriter)的构造方法中,有指定字符集编码,那么什么是字符集?有哪些常用的字符集?怎么用字符集进行编码? 一   什么是字符集? 字符:字符(Char)是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等. 字符集:字符集(Charset)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同. 二  有哪些常用的字符集? 1.ASCII: ASCII(American Standard Code

linux中mysql忘记密码解决办法

1. 关闭mysql服务,看到网上的很多说是用这个命令/etc/init.d/mysqld restart ,但是我在init.d文件夹中没有找到mysqld文件,所以在执行该命令的时候一直报错,然后换成了 sudo service mysql stop关闭mysql服务成功 2.安全模式下启动mysql  查看网上说的有两种方法第一种是直接用命令 mysqld_safe --skip-grant-tables & 但是我在使用这个命令的时候也报错了. 第二方法(可行),修改mysql的配置文件

Ubuntu中MySQL中文乱码解决

1.以root登陆,在终端输入命令 sudo gedit /etc/mysql/my.cnf在打开的文件中找到[client]在下面加入default-character-set=utf8 找到 [mysqld_safe]在下面加入default-character-set=utf8 找到[mysqld]在下面加入,12.04以后 character-set-server=utf8 init_connect='SET NAMES utf8' 或者12.04以前default-character-

kubernetes用configmap实现容器中mysql应用配置文件的管理

1.configmap的作用理解 configMap起什么作用的呢?举个例子,启用一个mysql容器.一般来说,mysql容器重要的有两部分,一部分为存储数据,一部分为配置文件my.cnf.前面有测试过,存储数据可以用pv pvc实现和容器的分离解耦.配置文件也能够实现和容器的分离解耦,也就是说mysql容器能够直接读取并使用预先配置好的配置文件(而不是使用容器中默认自带的配置文件),非常方便.这就是configMap的功能. kubernetes使用configMap来实现对容器中应用的配置文

Windows中MySQL——修改root密码的4种方法

方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for [email protected] = password('123'); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password

WampServer中MySQL中文乱码解决

1.修改mysql的my.ini文件: 在 [client] 下面增加 default-character-set=utf8 在 [mysqld] 下面增加: character_set_server=utf8 2.创建数据库: 示例创建数据库代码: 创建数据库PHP: CREATE DATABASE `php` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 创建表user: CREATE TABLE `user` ( `id` varchar(

MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题 收藏 MySQL中涉及的几个字符集

MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的.character-set-database:数据库字符集.character-set-table:数据库表字符集.优先级依次增加.所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集.character-set-client:客户端的字符

Mysql中中文乱码的解决

今天在V2EX上问了下遇到的mysql数据库中文乱码的问题,先说下,V2EX比CSDN论坛的模块好多了,一个小时的点击量就突破了500次,而且也有很多人帮助回答. 然后下面是我问的问题: --------------------------------------------------------- 项目全程都是utf8,hibernte写进数据库的数据取出来在myeclipse的consle下面显示是正常的,为何在数据库那个dos窗口下面显示的中文名就是乱码.注明:我的数据库所有配置都是ut

ubuntu14.04中mysql的安裝及utf8编码集配置

mysql的安裝使用sudo apt-get install mysql-server即可安裝,我安裝的是5.6版.安装过程中会要求输入root账户的密码,按提示输入即可. Mysql Workbench使用sudo apt-get install mysql-workbench安裝,版本不支持mysql-server-5.6,可在mysql官方网站下载安装. 我下载的安装包为mysql-workbench-community-6.2.3-1ubu1404-amd64.deb,使用sudo dp