jquery ajax提交中文出现乱码? 本帖最后由 weblanmp 于 2012-07-19 14:59:45 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 单独执行 add_post.php 文件插入中文乱码吗? encodeURI($('#bb').val()); 这样,把可能带中文的变量都encodeURI 朋友,你的意思是$stmt->execute(array(":mbname"=>“中文”, ":mbeng"=>“英文”)); 本帖最后由 xuzuning 于 2012-07-19 15:12:43 编辑 真没注意,你用 escape函数处理了提交内容。请删去escape函数。因为这个函数在不同的浏览器中表现不一样 js去掉escape,php中直接输出aa的内容看是什么样 你贴出 print_r($_POST); 的结果给我们看看 如果用ajax返回php中提交的数据则非乱码,但存的就是乱码 本帖最后由 xuzuning 于 2012-07-19 15:42:48 编辑 htm页<!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 content="text/html; charset=utf-8" http-equiv="Content-Type" /><title>无标题 1</title></head><body><form action="xx/test.php" method="post"><input type="text" id="aa" name="aa"/><br/><input type="text" id="bb" name="bb"/><br/><input type="submit" value="ok"/></form></body></html>php页<?php header("Content-Type:text/html;charset=utf-8"); date_default_timezone_set("PRC"); echo "<pre>"; print_r($_POST); echo "</pre>";?>提交的结果如下,没出现aaArray( [bb] => krystal) 朋友你的PDO设置解决了问题,谢谢!同时问一下,小弟不太会用PDO,你能用白话解释一下上句的意思吗? 意思是,用utf8编码格式对数据库进行读写 因为你用的不是框架,你每次都重新PDO所以,这一句你每次都要手动写,而框架其实也是每次都执行这个,不过不用你每次手写而已,你可以把你的文件编码与你的数据库设置编码统一,如此即可 问题解决了就好!在实例化 PDO 时附加的参数 array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8")表示的意思是:连接mysql成果后,立即执行 set names utf8 指令,即将通讯用的字符集设为 utf-8由于 mysql 数据库都是独立的,公共的。所以打不大可能就只按你需要的参数被安装所以使用时声明一下字符集是很有必要的mysql 对于 PDO 就属于个性化的东西了。对于声明字符集,他需要执行 sql 指令,要是 oralce 就是在 dsn 中声明了 想知道加密的方式是什么 求助!!! 帮我看下我的图片上传程序那里有问题? 寻求网站开发合作人 xml schema validation mysql 数据库上传 装完mysql后在c盘没有my.ini 我散的分到哪里去了,不在了吗?重散 急急!!!!!各位大虾,怎么不让用户看到一个IE页面的源代码呀? UP有分! 登录成功后返回原来的页面并保持数据 我的php页面有一段会员验证代码,能转成html吗? 关于避免插入重复数据并统计重复数据的数量的问题
$stmt->execute(array(":mbname"=>“中文”, ":mbeng"=>“英文”));
请删去escape函数。因为这个函数在不同的浏览器中表现不一样
<!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 content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>无标题 1</title></head><body>
<form action="xx/test.php" method="post">
<input type="text" id="aa" name="aa"/><br/>
<input type="text" id="bb" name="bb"/><br/>
<input type="submit" value="ok"/>
</form>
</body></html>php页
<?php
header("Content-Type:text/html;charset=utf-8");
date_default_timezone_set("PRC");
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
提交的结果如下,没出现aa
Array
(
[bb] => krystal
)
同时问一下,小弟不太会用PDO,你能用白话解释一下上句的意思吗?
表示的意思是:连接mysql成果后,立即执行 set names utf8 指令,即将通讯用的字符集设为 utf-8由于 mysql 数据库都是独立的,公共的。所以打不大可能就只按你需要的参数被安装
所以使用时声明一下字符集是很有必要的mysql 对于 PDO 就属于个性化的东西了。对于声明字符集,他需要执行 sql 指令,要是 oralce 就是在 dsn 中声明了