修改2017.4.9:

最近在使用MariaDB,遇到了同样的问题:中文乱码。因为mariadb他有好几个ini文件,但是可以根据自己开发需要创建一个my.ini,然后我试着去修改mariadb安装目录下的ini文件,死活不生效。然后我在C盘中搜索my.ini发现有一个。然后我就修改了,然后就可以啦

现在我自学到了SQL语句,发现在没有选择字符集时不能存入中文,然后今天看视屏,发现在自己的默认字符集是latin1,

这是什么鬼,然后自己上网查了,发现当初安装没设置就默认这个字符集,哦忘了我的MySQL是解压版,原因是安装版一直安装不上

然后我就开始百度:怎么样修改默认字符集,终于找到一篇博文,就是下面这篇,其中我提取了有用得精华,当然最下面我也会给出

那篇博文的URL;

首先你要查看自己的默认字符集:

查看语句是:show variables like 'character_set%';

然后修改语句是:SET character_set_server = utf8;

SET character_set_database = utf8;

SET character_set_connection = utf8;我就不一一列出语句,就是后面要修改什么就写什么;

这里只是单次修改,意思就是当你退出后再次进入还是会还原为原来的默认字符集latin1;

下面是设置永久的:

SET GLOBAL character_set_client     = utf8;
SET GLOBAL character_set_connection = utf8;
SET GLOBAL character_set_database   = utf8;
SET GLOBAL character_set_results    = utf8;
SET GLOBAL character_set_server     = utf8;

修改前:

修改后:

上面的方法是针对解压版和安装版;本人测试发现在我自己的电脑都不可以,最后我只能修改配置文件,其实修改配置文件并没有那么可怕,开始我是不想去修改配置文件,但是实在没办法,才修改了,发现其实修改配置文件很简单,而且一劳永逸,下面是我的配置文件,注意:我的是解压版的MySQL,安装版就别模仿了;

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysql]
default-character-set=utf8 

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir =D:\mysql-5.6.24-win32
# datadir =D:\mysql-5.6.24-win32\data
# port =3306
# server_id = .....
character-set-server = utf8

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

注意:

# basedir =D:\mysql-5.6.24-win32
# datadir =D:\mysql-5.6.24-win32\data
这两处是你们自己MySQL安装的路径,改成自己的;

我觉得数据库还是要选择utf8,因为方便将来迁移,而且不容易乱码吧,但是utf8也有个缺点,就是不能按中文拼音排序,就是校对规则比较麻烦,好了学习去了,时间很紧迫,切莫再任命的时候任性,要不会很惨。。。

这是我看到的那篇关于默认字符集的博文,对我有帮助的呢:http://imysql.cn/taxonomy/term/24

MySQL、MariaDB修改默认字符集的更多相关文章

  1. MariaDB修改默认字符集

    MariaDB修改默认字符集,以及创建数据库授权 1 . 修改server默认字符集utf8 [root@aws my.cnf.d]# vim /etc/my.cnf.d/server.cnf [my ...

  2. MySQL修改默认字符集

    今天朋友在做某个程序项目时,需要修改MySQL修改默认字符集,搞不好找我帮忙.百度了试了好几篇博文中的方法,最后终于成功了.但是感觉那些博文思路有点乱,所以自己总结下,希望可以帮到遇到同样问题的人. ...

  3. MySQL之修改默认引擎和字符集

    一.数据库引擎 1.1 查看数据库引擎 mysql> show engines; +--------------------+---------+------------------------ ...

  4. Linux下修改默认字符集--->解决Linux下Java程序种中文文件夹file.isDirectory()判断失败的问题

    一.问题描述: 一个项目中为了生成树状目录,调用了file.listFiles()方法,然后利用file.isDirectory()方法判断是否为目录,该程序在windows下运行无问题,在Linux ...

  5. sybase修改默认字符集为cp936

    原文地址:http://blog.sina.com.cn/s/blog_4d6854860100xn3f.html 报错信息:2402 error converting characters into ...

  6. mysql 修改默认字符集为utf8

    MySQL 5.5, all you need is: [mysqld] character_set_client=utf8 character_set_server=utf8 collation_s ...

  7. tomcat 修改默认字符集

    找到connector节点,插入 disableUploadTimeout="true" useBodyEncodingForURI="true" URIEnc ...

  8. mysql 更改默认字符集

    mysql 默认字符集概述 首先,MySQL的字符集问题主要是两个概念: haracter Sets Collations 前者是字符内容及编码,后者是对前者进行比较操作的一些规则.这两个参数集可以在 ...

  9. 远程连接MySQL(MariaDB)数据库

    网络环境: MySQL(MariaDB)服务器的操作系统为 CentOS 7 MySQL(MariaDB)服务器IP:172.16.230.15 客户端操作系统为 Windows 2008 R2 客户 ...

随机推荐

  1. GPS坐标系

    本次测试之坑,人车定位偏差,分析如下 车的定位由后台提供,由gps上报位置,采用WGS-84坐标系 前端(app/小程序)使用腾讯地图,或者高德地图,采用的是GCJ-02坐标系,或者在GCJ-02基础 ...

  2. SqlSever 使用 CROSS APPLY 与 OUTER APPLY 连接查询

    前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某一条或 ...

  3. 字符串API练习三则

    (1)按照Ascii码字典的顺序排列字符串.核心API:int compareTo(String),若大于则返回1,小于返回-1,等于返回0. class StringArray { static v ...

  4. java39

    String a= "hello.a.java;b.java;hello.java;hello.toha;"; //将每个分号的内容取出来 String[] res=a.split ...

  5. 图解HTTP系列

    第一章 第二章 第三章 第四章 第五章 第六章 第七章 第九章 第十章

  6. 每日一练ACM

    2019.04.15 第1000题:A+B Problem Problem DescriptionCalculate A + B. InputEach line will contain two in ...

  7. C语言在宏定义中使用语句表达式和预处理器运算符

    语句表达式的亮点在于定义复杂功能的宏.使用语句表达式来定义宏,不仅可以实现复杂的功能,而且还能避免宏定义带来的歧义和漏洞.下面以一个简单的最小值的宏为例子一步步说明. 1.灰常简单的么,使用条件运算符 ...

  8. 记一次需要用到复杂的groupingBy的需求

    一:先定义结构 public class Foo { private Integer id; private String name; private BigDecimal amount; publi ...

  9. Oracle授权

    给连接权限 grant connect to 用户; 给资源权限 grant resource to 用户; 给DBA权限 grant dba to 用户; 授权语句 --select * from ...

  10. 反编译看java for-each循环

    java 1.5发行版引入的for-each循环.(引自<Effective Java>中文版第二版 第46条) 如以下对数组列表的for-each循环示例: public class F ...