现如今,基本的web2.0应用都会涉及到表现层、业务层、数据层等多个层次。在数据的来回传递中,新手一不注意就会产生汉字的乱码问题。汉字乱码主要是由于各层使用的编码、或在层间进行数据传输时使用的编码不一致造成的,釜底抽薪的解决办法就是在一开始就将各层的编码都设置为一致的比如UTF-8或者GBK,对传输中引起问题的,再使用iconv等函数来转换。具体的做法是:

1.MySQL

-设置数据库、表、字段的字符集为GBK

2.PHP

-连接数据库,进行各种数据操作之前,先设置set names ‘gbk’

-在Php.ini文件中设置: default_charset = “gbk” ,使之在默认生成的html文档前加入字符集编码

-header(“Content-Type:text/html; charset=gbk”) ,作用同上

3.HTML

-,告诉浏览器,本页面使用的字符集是gbk的,请按照gbk编码进行解析

4.AJAX

-get方式提交数据时正常;POST方式时,数据传输默认使用UTF-8字符集

-所以PHP在接受post的提交后需要用iconv(‘utf-8’,’gbk’,$str)转换一下

需要注意的是:PHP文件本身保存的格式也需要一致。在记事本等文本编辑器中,保存文件时,可以选择保存的编码方式。

php ajax mysql 出错,MySql + PHP + Ajax的乱码问题的解决方案相关推荐

  1. sqlsever 转mysql 出错 MySQL max_allowed_packet设置及问题

    如果找不到max_allowed_packet   可以直接添加  max_allowed_packet = 20M,然后在show VARIABLES like '%max_allowed_pack ...

  2. 【Ajax Servlet JSP MySQL】Ajax实现省份地区选择:三级联动

    三级联动效果展示 环境 Eclipse for Java EE MySQL数据库 相关使用语言 Java(Java,Servlet后台处理) Web(HTML,CSS,JS,JSON,GSON.JS与 ...

  3. ajax传递数组_利用AJAX+PHP+MySQL实现不重新加载页面进行用户名已注册检测

    AJAX简介 AJAX全称--Asynchronous JavaScript and XML(异步JavaScript和XML).使用AJAX,页面中用户的操作将通过AJAX引擎与服务器端进行通信,然 ...

  4. ajax调取mysql数据显示在html_jQuery+Ajax+js请求json格式数据并渲染到html页面

    json格式的数据文件有两种方式 一种是xxx.json文件 一种是xxx.php文件 前者是json格式的文件 后者是输出json格式的文件 前者是本地的文件 后者是获取数据库的数据再输出成json ...

  5. mysql unrecognized_service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误...

    service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误的方法如下: [root@ctohome.com ~]# service ...

  6. Navicat for MySQL连接MYSQL出错,错误代码1045的解决方法

    Navicat for MySQL连接MYSQL出错,错误代码1045的解决方法 参考文章: (1)Navicat for MySQL连接MYSQL出错,错误代码1045的解决方法 (2)https: ...

  7. 启动MySQL出错: Starting MySQL….. ERROR! The server quit with

    启动MySQL出错: Starting MySQL-.. ERROR! The server quit with (2013-02-19 17:25:17) 转载▼ 标签: mysql error m ...

  8. ajax请求提示html状态码302,快速解决ajax请求出错状态码为0的问题

    今天在使用 ajax 向后台请求数据时出现错误,提示状态码为 0 ,后台采用的是 spring mvc 架构. 状态码为0是什么意思呢?查找了下,原来它意味着 (未初始化)即没有调用到send()方法 ...

  9. linux安装mysql出错( file /usr/share/mysql/czech/errmsg.sys from install of MySQL-server-5.5.31-2.el6.i6)

    linux下安装MySQL出错! [root@hadoop0 local]# rpm -i MySQL-server-5.5.31-2.el6.i686.rpm         file /usr/s ...

最新文章

  1. defensive-bash-programming
  2. java filewriter_Java基础篇:什么是FileWriter
  3. 初学python还是swift-请问零基础学习python 和swift哪个更好入门呢?
  4. UVA 10895——Matrix Transpose
  5. 用MS SQL Server事件探查器来跟踪数据库的操作
  6. Register DLL and OCX
  7. eclipse + mapxtreme 代码示例1
  8. 计算机组装与维护doc,《计算机组装与维护》课程教案.doc
  9. 【Unity3D】初学加密技巧(反破解)
  10. 因文件包含病毒或潜在的垃圾软件导致被防火墙拦截的解决方法
  11. vitrualbox虚拟机64位安装报错解决
  12. 中国石油大学远程教育《大学英语(四)》第二阶段在线作业
  13. 线性代数(2)向量线性组合、向量内积的意义
  14. 六、分享优秀的Armv8 虚拟化技术地址
  15. Signal Processing for Active Control chapter3翻译
  16. easy_x是实现钟表
  17. 【数据结构】什么是堆
  18. Java八股文一:java基础知识
  19. java bat转vbs_EXE2BAT(EXE转BAT)的vbs脚本
  20. CSS/HTML复选框自定义样式

热门文章

  1. Oracle ADF移动世界! 你好!
  2. Java与iOS对话:Java对象与Apple plist序列化
  3. 使用Spring 3.1和基于Java的配置构建RESTful Web服务,第2部分
  4. Java EE6事件:JMS的轻量级替代品
  5. macOS下查看Java/JDK的安装目录_查看Java/JDK的版本信息_配置环境变量JAVA_HOME
  6. 云笔记/笔记软件工具
  7. MacBook 如何一次性关闭所有程序的通知消息
  8. docker 删除所有镜像_关于 Docker 镜像的操作,看完这篇就够啦 !(下)| 文末福利...
  9. 【WebRTC---源码篇】(一)全局初始化
  10. fwrite函数的一般调用形式是什么?