PHP字符编码问题-总结
程序员文章站
2022-04-10 12:22:48
...
今天在网上看到一个人的对于php开发中字符编码的总结,感觉不错,摘录如下:
一,php编码转换
1.通过iconv()函数实现编码转换
语法:iconv(string in_charset,string out_charset,string str)
将指定字符串str由in_charset编码格式转换成out_charset编码格式,返回bool值。
2.通过mb_convert_encoding()函数实现编码转换
语法:mb_convert_encoding(string str,string to_encoding[,mixed from_encoding])
将字符串str的编码由from_encoding转换为to_encoding。
二,检测php字符串的编码
通过mb_detect_encoding()函数来检测字符串使用的是何种字符编码。
三,字符编码优先级
由高--->低
1.http消息报头的Content-Type字段中的charset参数。
2.通过meta元素声明,将http-equiv设置成Content-Type。
3.一些元素的charset属性设置。
四,解决页面中的php乱码问题
数据库中数据的输入和输出产生的乱码,可以通过PHP的mysql_query()函数设置来解决,而页面中如果出现乱码,则可以使用下面的两种方法解决。
(1)使用meta标签设置页面编码
meta标签的作用是声明客户端的浏览器用什么字符编码显示该页面。
(2)通过header()函数设置页面的编码格式
header("content-type;text/html;charset=gb2312");
1.通过iconv()函数实现编码转换
语法:iconv(string in_charset,string out_charset,string str)
将指定字符串str由in_charset编码格式转换成out_charset编码格式,返回bool值。
2.通过mb_convert_encoding()函数实现编码转换
语法:mb_convert_encoding(string str,string to_encoding[,mixed from_encoding])
将字符串str的编码由from_encoding转换为to_encoding。
二,检测php字符串的编码
通过mb_detect_encoding()函数来检测字符串使用的是何种字符编码。
三,字符编码优先级
由高--->低
1.http消息报头的Content-Type字段中的charset参数。
2.通过meta元素声明,将http-equiv设置成Content-Type。
3.一些元素的charset属性设置。
四,解决页面中的php乱码问题
数据库中数据的输入和输出产生的乱码,可以通过PHP的mysql_query()函数设置来解决,而页面中如果出现乱码,则可以使用下面的两种方法解决。
(1)使用meta标签设置页面编码
meta标签的作用是声明客户端的浏览器用什么字符编码显示该页面。
(2)通过header()函数设置页面的编码格式
header("content-type;text/html;charset=gb2312");
header()函数的作用是把括号内的信息发到HTTP标头。
五、如果浏览器不能选择你在页面中默认的字符编码来显示页面
可以设置php中的php.ini文件中的default_charset = "编码", 例如:default_charset = "gb2312"
这里决定了浏览器选择的默认编码。
上一篇: PDO链式调用的封装类
下一篇: php utf8 一半乱码的问题