php在URL中传递中文参数,插入到mysql乱码问题
时间:2011-10-09
来源:互联网
http://localhost/insert.php?s=insert+into+members+(uid,username)+values+(null,'蓝色')
这样插入的是乱码,中文变成了 %C0%B6%C9%AB ,英文和数字一切正常。请问如何解决,谢谢
<?php
include("conn.php");
$s=urlencode($_GET['s']);
$s = str_replace('+','%20',$s);
$s = str_replace('%2C',',',$s);
$s = str_replace('%27','\'',$s);
$s = str_replace('%28','(',$s);
$s = str_replace('%29',')',$s);
$s = str_replace('%20',' ',$s);
$s = str_replace('%5C','',$s);
$SQL="$s";
$query=mysql_query($SQL);
$err=mysql_error();
if($err){
echo "error:".mysql_error();
}else{
echo "success";
}
mysql_close($conn);
?>
作者: luzhichu 发布时间: 2011-10-09
为什么要对传递过来的值进行 urlencode?就算是要也是 urldecode吧?
作者: PhpNewnew 发布时间: 2011-10-09
http://localhost/insert.php?s=insert+into+members+(uid,username)+values+(null,'蓝色')
js 传递过来 看你的页面 数据库是不是UTF-8,是的话可以直接插数据库的.
作者: PhpNewnew 发布时间: 2011-10-09
作者: luzhichu 发布时间: 2011-10-09
作者: ohmygirl 发布时间: 2011-10-09
http://localhost/insert.php?s=insert into members (uid,username) values (null,'蓝色')
header ( "Content-type: text/html; charset=gbk" );
$s=$_GET['s'];
echo $s;//debug
$SQL=$s;
mysql_query( "set names 'GBK ' ");
mysql_query($SQL);
//=============
这样就可以了吧?
作者: PhpNewnew 发布时间: 2011-10-09
diao.带sql数据的参数,怕别人看不到你表结构么?
作者: PhpNewnew 发布时间: 2011-10-09
另外你的SQL语句可以在服务器端构建的
作者: whg4585 发布时间: 2011-10-09
插入到数据库还是乱码
作者: luzhichu 发布时间: 2011-10-09
作者: yunprince 发布时间: 2011-10-09
输出来的是 insert into pre_ucenter_members (uid,username) values (null,\'蓝色\')
插入到数据库还是乱码
你数据库\数据表 应该不是gbk编码吧?确认弄清楚
作者: PhpNewnew 发布时间: 2011-10-09
UTF-8
作者: happypiggy2010 发布时间: 2011-10-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28