php中使用mysqli创建数据库的时候怎么指定字符集和排序规则?

 我来答
易寄波Re
推荐于2017-11-25 · TA获得超过404个赞
知道答主
回答量:59
采纳率:0%
帮助的人:88.9万
展开全部

字符集很简单,但是数据的排序需要通过SQL语句来协助完成,ORDER BY 语句,代码如下:

// 假设你已经成功连接了数据库($mysqli变量假设为连接的资源句柄)
// 通过对象方式设置字符编码
$mysqli -> set_charset('utf8');
// 通过函数方式设置字符编码
mysqli_set_charset($mysqli, 'utf8');

// 那么接下来是数据排序的话,需要编写一条SQL查询语句(DESC 倒序排列 | ASC 正序排列)
$sql = "SELECT `字段` FROM `表名` WHERE TRUE ORDER BY `字段` DESC;";

如果还有什么问题,欢迎追问~

更多追问追答
追问

我说的排序规则可能和你说的不一样,看下下面的图:

追答
我说呢,怎么那么绕口。这里的排序规则其实就是表(包括数据库、表、字段)的字符编码。那么什么是字符集,什么是字符编码如下:

字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符编码(Character Encoding):是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对。即在符号集合与数字系统之间建立对应关系,它是信息处理的一项基本技术。通常人们用符号集合(一般情况下就是文字)来表达信息。而以计算机为基础的信息处理系统则是利用元件(硬件)不同状态的组合来存储和处理信息的。元件不同状态的组合能代表数字系统的数字,因此字符编码就是将符号转换为计算机可以接受的数字系统的数,称为数字代码。
总结:数据库、表、字段定义的是字符编码(这些必须在创建数据库、表、字段结构时声明,也就是在被创建的时候),用来表示他们用一种编码来存储数据。而字符集是,数据库用哪种编码来查看数据,两者必须对应,否则就会乱码。(你的数据库选择的是utf8字符集查看数据,而数据库编码是utf8多国语言不区分大小写)这就是两者的关系,还有问题吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式