MySQL、MariaDB修改默认字符集
修改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修改默认字符集的更多相关文章
- MariaDB修改默认字符集
MariaDB修改默认字符集,以及创建数据库授权 1 . 修改server默认字符集utf8 [root@aws my.cnf.d]# vim /etc/my.cnf.d/server.cnf [my ...
- MySQL修改默认字符集
今天朋友在做某个程序项目时,需要修改MySQL修改默认字符集,搞不好找我帮忙.百度了试了好几篇博文中的方法,最后终于成功了.但是感觉那些博文思路有点乱,所以自己总结下,希望可以帮到遇到同样问题的人. ...
- MySQL之修改默认引擎和字符集
一.数据库引擎 1.1 查看数据库引擎 mysql> show engines; +--------------------+---------+------------------------ ...
- Linux下修改默认字符集--->解决Linux下Java程序种中文文件夹file.isDirectory()判断失败的问题
一.问题描述: 一个项目中为了生成树状目录,调用了file.listFiles()方法,然后利用file.isDirectory()方法判断是否为目录,该程序在windows下运行无问题,在Linux ...
- sybase修改默认字符集为cp936
原文地址:http://blog.sina.com.cn/s/blog_4d6854860100xn3f.html 报错信息:2402 error converting characters into ...
- mysql 修改默认字符集为utf8
MySQL 5.5, all you need is: [mysqld] character_set_client=utf8 character_set_server=utf8 collation_s ...
- tomcat 修改默认字符集
找到connector节点,插入 disableUploadTimeout="true" useBodyEncodingForURI="true" URIEnc ...
- mysql 更改默认字符集
mysql 默认字符集概述 首先,MySQL的字符集问题主要是两个概念: haracter Sets Collations 前者是字符内容及编码,后者是对前者进行比较操作的一些规则.这两个参数集可以在 ...
- 远程连接MySQL(MariaDB)数据库
网络环境: MySQL(MariaDB)服务器的操作系统为 CentOS 7 MySQL(MariaDB)服务器IP:172.16.230.15 客户端操作系统为 Windows 2008 R2 客户 ...
随机推荐
- 优雅的找出ArrayList中重复的元素
https://blog.csdn.net/caoxiaohong1005/article/details/54286384
- 第三次scrum作业
一.第三次冲刺任务 ! 在已有的基础上实现图书馆管理员对图书信息的查询以及对图书借阅情况的查询. 二.用户故事 本次的用户是图书馆的管理员 用户输入对应的管理员的账号和密码 用户选择图书查询,进入图书 ...
- linu输出重定向
1.tee命令 ls | tee filename #若出现Permission Denied使用下面 ls | sudo tee filename #清空filename后重写 ls | sudo ...
- babel简介
1.babel是什么 babel官网正中间一行黄色大字写着“babel is a javascript compiler”,翻译一下就是babel是一个javascript转译器.为什么会有babel ...
- 《Linux就该这么学》第十五天课程
本次课所学习的是DNS域名解析服务! 下面提供一些DNS有关的内容 如需进一步学习,请前往https://www.linuxprobe.com/chapter-13.html 工作模式: 1.主服务器 ...
- jquery学习总结12-24
一.jquery操作类的相关方法 1.addClass()方法可以为DOM元素添加类,若添加多个类中间可以用空格连接 2.removeClass()方法可以为DOM元素删除类,若删除多个类中间可以用空 ...
- Linux学习---自定义数据类型
struct 结构体 (地址递增) eg:struct myabc{ unsigned int a; unsigned int b; unsigned int c; unsigned int d; ...
- android:动态申请权限(一)
环境: android版本6.0 对应SDK版本23 动态申请权限说明:所有动态申请的权限,必须在AndroidManifest.xml中进行声明 步骤 1.新建一个android工程 默认创建即可 ...
- 转 多租户SaaS架构
当使用Techcello框架开发云端多租户SaaS应用程序时,它继承了经过验证和测试的架构蓝图和工程结构.但开发人员仍然会保留灵活性,自由和控制权,以修改和扩展能力以适应其应用要求.此外,SaaS平台 ...
- junit 方法:assertEquals 和 assertTrue
assertEquals 和 assertTrue 区别相同之处:都能判断两个值是否相等 assertTrue 如果为true,则运行success,反之Failure assertEquals 如果 ...