我在PHP和MySQL开发中字符编码格问题

来源:互联网 发布:介绍人工智能方面的书 编辑:程序博客网 时间:2024/04/30 11:42

/**新手学习过程中,记录自己面临的问题,大神就可以飘过了…………**/

这两天在编写查询数据库分页显示的代码,要实现这部分功能并不难,可是在浏览器中预览效果的时候却遇到了意想不到的问题,就是字符编码的问题。问题是这样的:查询数据库得出的记录显示可以正常显示中文,可是页面表格不能正确显示中文,全是乱码。

于是我到处查阅解决方法,网上回答比较纷杂,我想还是搞清楚基础知识原理才能很好地解决,所以我搜索到了一篇博客:点击打开链接,这里应该比较详细、系统地介绍了基础。

PHP和MySQL字符编码存在3个方面:(1)文件本身的编码格式;(2)页面编码格式;(3)数据库连接编码格式

仔细阅读之后,我想,在页面编码格式中,我在开头使用了

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />

来制定其编码格式;在建立完毕数据库连接对象后,也使用了

mysqli_query($conn,"SET NAMES UTF-8");

或是

mysql_query("SET NAMES UTF-8");

来制定(原来UTF8和UTF-8是不一样的睡觉),如果没有错的话这样大概能够避免后两个问题的产生,但是乱码问题还是存在。当时对于“文件本身的编码格式”概念还不是很清楚,只能理解为“一种额外的格式定义”,所以又去网上查了资料,才发现问题出在这里,如下图:

在保存的时候还有“编码”选项,默认选择为ANSI,这个对应的是gb2312格式。更改以后,问题才得以解决。


看来对好多基础问题了解得很不好。



1 0