PDU(Protocol Data Unit),协议数据单元。各层有不同的称谓。
- 物理层 bit 位
- 链路层 Frame 帧
- 网络层 Packet 包
- 传输层 Segment 段
- 应用层 Message 文
1、 PHP 程序在查询数据库之前,首先执行 mysql_query("SET NAMES xxxx"); 其中 xxxx 是你网页的编码(charset=xxxx),如果网页中 charset=utf8,则 xxxx=utf8,如果网页中 charset=gb2312,则xxxx=gb2312,几乎所有 WEB 程序,都有一段连接数据库的公共代码,放在一个文件里,在这文件里,加入 mysql_query("SET NAMES xxxx") 就可以了。
2、 SET NAMES 显示客户端发送的 SQL 语句中使用什么字符集。因此,SET NAMES 'utf-8' 语句告诉服务器“将来从这个客户端传来的信息采用字符集 utf-8”。它还为服务器发送回客户端的结果指定了字符集(例如,如果你使用一个 SELECT 语句,它表示列值使用了什么字符集)。
3、http头和html标签中设置编码的区别:
一:建库和建表结构指定的编码不一定就是实际存储的具体数据条目的编码。 例如本次mysql建库和建表都是utf8、但是里面存储的数据却是latin1的编码。
二:修改my.ini之后需要重启mysql。但是重启apache并不能重启mysql。 windows下面重启mysql应该采用先停止再启动的形式,没有直接的restart命令。 具体为:【net stop mysql】和【net start mysql】
三:my.ini中有多个section,比如[client]、[mysql]、[mysqld]等。这些section下面都可以设置默认字符集编码【default-character-set】,但所代表的含义不同。[client]中的default-character-set表示【客户端(第三方应用程序如PHP、JAVA等)与mysql建立连接交互的时候默认编码,对应于系统变量character_set_client、character_set_connection和character_set_results