由于客户需求,需要按照汉字的首字拼音排序,项目开发中免不了数据的排序问题,排序中又免不了对中文的处理。今天分享一下如何在mysql中对中文进行排序,介绍下thinkphp连贯操作的order底层原理
命令行输入mysql -u root -p,回车再输入密码,进入mysql。 终端命令以分号作为一条语句的结束,可分为多行输入,只需在最后加上分号即可。如下图: 一、DDL:数据定义语言 Data D
在平时的mysql运维操作中,经常会碰到插入中文字段后出现乱码的情况,产生中文乱码的原因一般有: 1)mysql的编码格式不对,是latin1编码。强烈推荐将mysql下的编码格式都改为utf8,因为它兼容世界上所有字符! 2)mysql的表的语系设定问题(包含character与collation) 3)客户端程式(例如php)的连线语系设定问题 下面就对Mysql下处理数据表中中文字段乱码问题的操作做一记录: 为了防止后续操作出现乱码现象,最好在创建库或数据表的时候就设置正确的编码。 创建数据
这里我已经将MySQL的数据库编码设置为UTF-8,所以下面现实的都是UTF-8。
在平时的mysql运维操作中,经常会碰到插入中文字段后出现乱码的情况,产生中文乱码的原因一般有: 1)mysql的编码格式不对,是latin1编码。强烈推荐将mysql下的编码格式都改为utf8,因为它兼容世界上所有字符! 2)mysql的表的语系设定问题(包含character与collation) 3)客户端程式(例如php)的连线语系设定问题
在显示 utf8中文数据时会乱码,但是你用cmd告诉MySQL服务器器我使用的是GBK,你要给我返回GBK数据就可以正常显示了,如下图。这也是为什么PHP,Java,Python等编程连接数据库时都要指定数据库的结果集。
字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。 字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。 字符编码(Character encoding)是把字符集中的某个字符编码为指定字符集中字符,以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成ASCII,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示。 字符序(collation)是指同一个字符集内字符之间的比较规则。只有确定字符序后,才能在一个字符集上定义什么是等价的字符,以及字符之间的大小关系。一个字符可以包含多种字符序。MySQL字符序命名规则是:以字符序对应的字符集名称开头,以国家名居中(或以general居中),以ci、cs、或bin结尾。以ci结尾的字符序表示大小写不敏感,以cs结尾的字符序表示大小写敏感,以bin结尾的字符序表示按二进制编码值比较。
上一篇呢,从理论上介绍了MYSQL字符集和校对规则是什么以及如何正确的使用字符集;关于第一部分的内容可参考:深入理解MySQL字符集及校对规则(一)
(1)insert into user_info values(1,"yhd","yhd",1);
4. 基础SQL-DDL语句-操作数据库-操作表 分类 描述 关键字 DDL(Data Definition Language)数据定义语言 用来定义数据库对象:数据库,表,列 create,drop,alter等 1. DDL操作数据库 1.1 创建数据库 直接创建数据库 CREATE DATABASE 数据库名; 判断是否存在并创建数据库(了解) CREATE DATABASE IF NOT EXISTS 数据库名; 创建数据库并指定字符集(了解) CREATE DATABASE 数据库名 CHARA
3、字符无需区分大小写时,采用默认的xx_ci校验集可以,否则选择xx_bin校验集(生产环境中,尽量不要修改校验集)
上篇我们介绍了mysql字符集的种类,主要windows用gbk,mac默认utf8,还有字符集的服务器级别,数据库级别,表级别,连行都有级别,每一行都可以有不同的字符集:
MySQL出现乱码的原因有很多,一般与character_set参数有关。我们先来看看有哪些参数:
在freebuf上莫名地被喷,可能是因为被喷让人气上来了,最后得到的金币比前一篇文章更多。塞翁失马,焉知非福?
当向 MySQL 数据库插入一条带有中文的数据形如 insert into employee values(null,'小明','female','2018-03-28','2018-03-29','Sales',2018,'从事互联网工作!'); 出现乱码时,可以使用语句 show variables like 'character%'; 来查看当前数据库的相关编码集。
在mysql中,用于转义的函数有addslashes,mysql_real_escape_string,mysql_escape_string等,还有一种情况是magic_quote_gpc,不过高版本的PHP将去除这个特性。
在MySQL中,最常见的字符集有ASCII字符集、latin字符集、GB2312字符集、GBK字符集、UTF8字符集等,下面我们简单介绍下这些字符集:
因此,民工哥将题抄录下来,然后在线下环境将答案逐一验证,并写出来分享给需要的小伙伴,因答案纯属个人观点,难免会有不正之处,还望小伙伴加改指正
mysql -uroot -poldboy -S /data/3306/mysql.sock
安装文件下载目录:/data/software Mysql目录安装位置:/usr/local/mysql 数据库保存位置:/data/mysql 日志保存位置:/data/log/mysql
如果一个字符的大小是一个字节的,称为窄字节;如果一个字符的大小是两个字节的,成为宽字节
背景:目前正在进行业务重构,需要对使用MySQL的业务库表进行重新设计,在迁移时,遇到了中文字符乱码问题(源库表的默认编码是LATIN1,新库表的默认编码为UTF8),故重新学习了下MySQL编码和解码相关知识,并整理了在遭遇乱码时的一些常用技巧。(本文发布于云+社区:https://cloud.tencent.com/developer/article/1370123)
本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。
解决方法 1.找到 mysql 安装路径文件,如我个人的在C盘隐藏的文件夹下(该文件通常默认是隐藏的)
linux连接mysql是最基本的操作之一,对于初学者来说我们可以通过命令来连接mysql,下面由学习啦小编为大家整理了linux下连接mysql命令的相关知识,希望对大家有所帮助!
激活成功教程教程 1、安装完成后运行软件,启动时选择“简体中文”语言种类启动软件;
上篇文章我们说了mysql客户端到服务端会不同的字符集不断转换,其中服务端有三个重点的系统变量,1.处理客户端发来的字节串:character_set_client。2.吧请求的字节串从character_Set_cliect转成character_set_connection。3.吧字节串返回给客户端:character_Set_result。
[ ] 中的关键字可以选择不加,IF NOT EXISTS 的意思是如果不存在才创建 数据库
我们看到,尽管使用数据库时我们能够正常的添加和显示中文,但是在使用程序连接数据库时并不能够正常显示中文,为此我们需要修改MySQL的默认编码,编辑my.ini(MySQL配置文件)文件对编码进行修改 设置MySQL的默认字符集为utf8,找到客户端配置[client]在下面添加。 default-character-set=utf8 找到服务器配置[mysqld]在下面添加 default-character-set=utf8 设定MySQL数据库以utf8编码运行,连接MySQL数据库时使用utf8编码 停止和重新启动MySQL net stop mysql net start mysql
###1 MySQL登录与退出 MySQL登陆 MySQL 参数(在cmd命令框中输入) 登陆MySql mysql -uroot -p -P3306 -h127.0.0.1 MySql退出
对于MySQL自带的客户端来说,这个编码过程使用的字符集和我们使用的操作系统的默认字符集是一样的,类Unix系统的默认字符集就是utf8,Windows系统的默认字符集就是gbk。
图中的数据库是MySQL8.0自带的数据库。这四个数据库对于不是DBA的人而言,我们就不要去动它。创建自己的数据库即可。
打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面
SQLyog中文版是一款专业的图形管理软件,SQLyog操作简单,功能强大,能够帮助用户轻松管理自己的MYSQL数据库,SQLyog中文版支持多种数据格式导出,可以快速帮助用户备份和恢复数据,还能够快速地运行SQL脚本文件,为用户的使用提供便捷。
用安装版的MySQL,复制安装后的文件到另一个目录,修改my.ini文件中目录和端口号
我们现在要了解一个PHP的防御函数 magic_quotes_gpc() 魔术引号开关 magic_quotes_gpc函数在php中的作用是判断解析用户提交的数据,如包括有:post,get,cookie过来的数据增加转义字符""以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。
创建数据库时,显式指定字符集和排序规则,同时,当切换到当前数据库后,参数 character_set_database,collation_database 分别被覆盖为当前显式指定的字符集和排序规则。举个简单例子,创建数据库 ytt_new2,显式指定字符集为 latin1,同时排序规则为 latin1_bin。之后在切换到数据库 ytt_new2 后,对应的系统参数也被修改。
在文章开始前,大家可以先考虑几个问题,这样方便更快理解文章的知识点,下面的问题都会在文章中找到答案哦!
本文将详细介绍MySQL乱码的成因和具体的解决方案。在阅读本文之前,强烈建议对字符集编码概念还比较模糊的同学 阅读下博主之前对相关概念的一篇科普:十分钟搞清字符集和字符编码 MySQL出现乱码的原因
以下配置项是Linux系统的本地化(localization)设置,用于控制系统在不同方面如何呈现和处理数据。下面是每个配置项的解释:
在create table语句中后面加上default charset GBK 然后使用setContentType("text/html;charset=GBK");保证页面输出不乱吗。
进入MySQL官网,依次点击:上方选项卡DOWNLOADS->页面底端MySQL Community Edition->MySQL Community Server,此时会来到以下这个页面:
这个系列的文章是根据《MySQL是怎样运行的:从根儿上理解MySQL》这本书的个人笔记总结专栏,这里十分推荐大家精读一下这本书,也是目前市面上个人所知的讲述Mysql原理的为数不多的好书之一,好了废话不多说我们下面进入正题。
character-set-server/default-character-set:服务器字符集,默认情况下所采用的。 character-set-database:数据库字符集。 character-set-table:数据库表字符集。 优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。 character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码。 character-set-results:结果字符集。服务器向客户端返回结果或者信息时,结果以该字符集进行编码。 在客户端,如果没有定义character-set-results,则采用character-set-client字符集作为默认的字符集。所以只需要设置character-set-client字符集。
第1章 数据库介绍 1.1 数据库概述 l 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。 l 什么是数据库管理系统 数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。 l 数据库与数据库管理系统
如果你用cmd窗口向一张表插入数据的时候,插入的数据是中文,会出现错误提示,用软件操作的请忽略。。。 出现错误的原因是cmd窗口采用的是gbk编码,所以你在cmd窗口输入的数据都是gbk编码的,而数据库中的编码默认都为utf8,所以出现的是编码问题。 我们可以输入该条指令查看数据库相关编码集。
1系统约定 安装文件下载目录:/data/software Mysql目录安装位置:/usr/local/mysql 数据库保存位置:/data/mysql 日志保存位置:/data/log/mysql
计算机上可以运行多个程序,比如QQ,微信,idea,每个程序就是一个进程(PID),mysql服务器和客户端本质就是一个进程,进程都有唯一id,简称PID。
领取专属 10元无门槛券
手把手带您无忧上云