php/ajax/mysql---有很关键的ajax乱码解决哦

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
 
算翻译吧,我改了不少东西,还解决其中的乱码问题,嘿嘿,算原创吧,忽忽。。。
 
ajax.html:
 
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > 
< html  xmlns ="http://www.w3.org/1999/xhtml" > 
< head > 
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312"  /> 
< title >Ajax教程 </title> 
< script  language ="javascript"  type ="text/javascript" > 
//浏览器支持代码 
function ajaxFunction(){ 
  var ajaxRequest;    //xmlHttpRequest对象 
    
  try{ 
    // Opera 8.0+, Firefox, Safari 
    ajaxRequest = new XMLHttpRequest(); 
  } catch (e){ 
    // IE系列 
    try{ 
      ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
      try{ 
        ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch (e){ 
        // 古老的浏览器 
        alert("你的浏览器不支持Ajax!"); 
        return false; 
      } 
    } 
  } 
    
  // 创建一个函数负责介绍来自服务器的数据 
  ajaxRequest.onreadystatechange = function(){ 
    if(ajaxRequest.readyState == 4){ 
      var ajaxDisplay = document.getElementById('ajaxDiv'); 
      ajaxDisplay.innerHTML = ajaxRequest.responseText; 
    } 
  } 

  var age = document.getElementById('age').value; 
  var wpm = document.getElementById('wpm').value; 
  var sex = document.getElementById('sex').value; 
  var queryString = "?age=" + age + "&wpm=" + wpm + "&sex=" + sex; 
  ajaxRequest.open("GET", "ajaxmysql.php" + queryString, true);    
  ajaxRequest.send(null);    

</script> 
</head> 
< body > 
< form  name ='myForm' > 
最大年龄:  < input  type ='text'  id ='age'  />  < br  /> 
最大打字速度WPM(words per minute):  < input  type ='text'  id ='wpm'  /> 
< br  /> 
性别:  < select  id ='sex' > 
< option  value ='m' ></option> 
< option  value ='f' ></option> 
</select> 
< input  type ='button'  onclick ='ajaxFunction()'  value ='查询mysql'  /> 
</form> 
< div  id ='ajaxDiv' >这里显示结果. </div> 
</body> 
</html> 

 
前台的字符集编码是国标gb2312保存的按gb2312编码保存(用的emeditor编辑器).
 
后台页面ajaxmysql.php:
 
<?php 
header( "Content-Type:text/html;charset=utf-8"); //页面的字符集编码 
$dbhost =  "localhost"
$dbuser =  "root"
$dbpass =  "123456"
$dbname =  "ajax"
//连接mysql 
mysql_connect($dbhost, $dbuser, $dbpass); 
//选择数据库 
mysql_select_db($dbname) or die(mysql_error()); 
 
mysql_query( "set names utf8"); //防止查询乱码 
 
//检索 查询串 
$age = $_GET['age']; 
$sex = $_GET['sex']; 
$wpm = $_GET['wpm']; 
 
// 防止注入 
$age = mysql_real_escape_string($age); 
$sex = mysql_real_escape_string($sex); 
$wpm = mysql_real_escape_string($wpm); 
 
//构造查询 
$query =  "SELECT * FROM ex1 WHERE sex = '$sex'"
if(is_numeric($age)) 
$query .=  " AND age <= $age"
if(is_numeric($wpm)) 
$query .=  " AND wpm <= $wpm"
 
//执行查询 
$qry_result = mysql_query($query) or die(mysql_error()); 
 
//结果串 
$display_string =  "<table>"
$display_string .=  "<tr>"
$display_string .=  "<th>姓名</th>"
$display_string .=  "<th>年龄</th>"
$display_string .=  "<th>性别</th>"
$display_string .=  "<th>打字速度</th>"
$display_string .=  "</tr>"
 
// 为每一个返回的人插入一行. 
while($row = mysql_fetch_array($qry_result)){ 
  $display_string .=  "<tr>"
  $display_string .=  "<td>{$row['name']}</td>"
  $display_string .=  "<td>{$row['age']}</td>"
  $display_string .=  "<td>{$row['sex']}</td>"
  $display_string .=  "<td>{$row['wpm']}</td>"
  $display_string .=  "</tr>"

echo  "查询: " . $query .  "<br />"
$display_string .=  "</table>"
echo $display_string; 
?> 
 
后台页面编码utf-8.
 
主要考虑ajax的utf8做的改动。
 
 
相关截图:
 
 
 
 
 
 
本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/110868,如需转载请自行联系原作者





相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
2月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
244 0
PHP和Mysql前后端交互效果实现
|
7月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
363 17
|
8月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
213 18
|
9月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
375 25
|
11月前
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效交互:从基础到实践####
本文深入探讨了PHP与MySQL数据库之间的高效交互技术,涵盖了从基础连接到高级查询优化的全过程。不同于传统的摘要概述,这里我们直接以一段精简代码示例作为引子,展示如何在PHP中实现与MySQL的快速连接与简单查询,随后文章将围绕这一核心,逐步展开详细讲解,旨在为读者提供一个从入门到精通的实战指南。 ```php <?php // 数据库配置信息 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test_db"; // 创建连接 $conn = new mysqli($se
302 31
|
前端开发 Java 编解码
老问题:JSP,AJAX,UTF-8,Get,乱码!
前后台都是UTF-8编码,在用AJAX的GET方式传递数据时,发生乱码! 将解决方式记载一下,以待追溯: 前台:   1 var strUrl = "../getInfo?paramName=中文参数值";   2 strUrl = encodeURI(encodeURI(strUrl)); //两次URL转码   3  Ext.
951 0
|
XML 前端开发 JavaScript
什么是Ajax和jquery
什么是Ajax和jquery
159 0
|
JSON 前端开发 Java
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
460 0
|
敏捷开发 JavaScript 前端开发
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
|
前端开发 JavaScript
Jquery ajax捕获错误信息
Jquery ajax捕获错误信息
151 0

推荐镜像

更多