php中使用mysqli创建数据库的时候怎么指定字符集和排序规则?
1个回答
展开全部
字符集很简单,但是数据的排序需要通过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多国语言不区分大小写)这就是两者的关系,还有问题吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询