
正文
数据库和php的字符集 php与数据库
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
myql和php的字符集的问题,在所有都是utf8的时候还是会出错 存取都正常,但是phpmyadmin和终端不正常
Set Names encoding-type 是必须的。不论是工具软件还是phpmyadmin数据库和php的字符集,他们都内置了这个方法在每次数据库连接时。
encoding-type应该和数据库和php的字符集你的客户端使用的编码一致。例如,你的网页是utf-8,那么set names utf-8,如果你的网页是gbk,那么就set names gbk(我没用过gbk)
它的意义是告诉mysql,我提交的数据是经过该方式编码的,请用相同的方式解码。
如果不追求细节的话(细节太多了,我也没法儿都写出来),你应该这样做数据库和php的字符集:
1. 创建数据库时应该将数据库的编码格式设置为utf8_general_ci
2. PHP每次连接数据库后发送SET NAMES UTF8命令
3. 你的页面的meta content type要设置encoding type utf-8
4. 你的PHP源文件应该保存为utf-8编码格式如果以上都做到了,那么不论你用哪种方式访问数据库都应该看到相同的结果。
相关问答
Q1: php创建mysql数据库时候如何设置字符集?
我来给你做一个综合解释吧。
在正常情况下。
PHP脚本 HTML 已经浏览器 然后就是数据库。
都有自己的字符集。何谓字符集。我想你如果是一个真正想热衷于学PHP
那么你应该花一定的时间去数据库和php的字符集了解一下字符集的问题。
因为无论你以后做什么项目开发什么网站都是要牵涉到字符集。
就好比我做第一个项目。因为字符集搞的死去活来。
好进入正题。怎么解决问题呢?
1.PHP的字符集。一般PHP网页的是嵌套在html页面以内。那么如果在没有冲突的情况下可以使用
header方面设置。比如?php header ... ?
2.HTML的字符集,一般是网页的优先字符集,这个问题是牵涉到你的网站是什么定位,比如数据库和php的字符集:你的网站仅仅适合国内的客户。那么用gbk 或者gb2312.如果想老外也开凑凑热闹的话,就用utf-8.至于怎么设置这个字符集,你可以在meta这个标记中看到。
3.数据库的问题。mysql_query("set names gbk"); 这句话意思就是说,在操作数据库的时候已这个字符集去读写。当然这个字符集要对应你的页面的字符集哦。
4.浏览器。浏览器的问题是最万恶的,因为每个浏览器默认的是gb2312.当然不同的浏览器是不同的。所以要想成为一名优秀的程序员,写出优质的代码。你还得去数据库和php的字符集了解每个浏览器的差别。当然目前是不需要的,当然这个问题你慢慢学习。写代码的过程中会慢慢了解到的。
你要做的就是将所有使用字符集确保一致性
问题就这些吧,如果有什么问题可以继续问哦。凡是对PHP有热情的人。我都会尽全力帮一下。哈哈。因为这个加物以类聚。还有这个内容绝对不是复制粘贴的。
Q2: php中使用mysqli创建数据库的时候怎么指定字符集和排序规则?
字符集很简单,但是数据的排序需要通过SQL语句来协助完成,ORDER BY 语句,代码如下:
// 假设你已经成功连接了数据库($mysqli变量假设为连接的资源句柄)
// 通过对象方式设置字符编码
$mysqli - set_charset('utf8');
// 通过函数方式设置字符编码
mysqli_set_charset($mysqli, 'utf8');
// 那么接下来是数据排序的话,需要编写一条SQL查询语句(DESC 倒序排列 | ASC 正序排列)
$sql = "SELECT `字段` FROM `表名` WHERE TRUE ORDER BY `字段` DESC;";
如果还有什么问题,欢迎追问~
数据库和php的字符集的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php与数据库、数据库和php的字符集的信息别忘了在本站进行查找喔。








