首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表格提交中的中文字符

表格提交中的中文字符
EN

Stack Overflow用户
提问于 2012-04-12 15:14:11
回答 1查看 837关注 0票数 0

客户端页面:

代码语言:javascript
复制
<head>
<meta http-equiv="Catchup Scheduler" content="text/html; charset=UTF-8">
</head>

<body>
<form action="next.php" method="POST" >
<input type="text" name="programme_name"></br>
<input type="submit">
</form>
</body>

服务器页面:

代码语言:javascript
复制
$name = $_POST['programme_name'];

mysql_query("SET character_set_client=utf8",$con);
mysql_query("SET character_set_connection=utf8", $con);
mysql_query("SET character_set_results=utf8", $con);

$query = "Select * from programme where Programme_name Like '%".$name."'";

问题是,尽管数据库中有中文文本,但查询始终返回ZERO(none)。如果我打印POST值$name,它会显示包含中文字符的正确文本。

但是如果我将其存储在一个变量中,例如:

代码语言:javascript
复制
$name= "valuevalue ( 官话 )";
$query = "Select * from programme where Programme_name Like '%".$name."'";

它会产生结果。这怎么可能,在POST中它不是静态的值声明,而是静态的值声明?我的操作系统是XP SP3。

如果在POST中,汉字的“内部”表示是否有问题?我需要在我的操作系统中设置一些东西来支持中文表示吗?

EN

回答 1

Stack Overflow用户

发布于 2012-05-21 06:47:37

您正在向mySQL提供未转义的原始输入。

在输入字符串上使用mysql_real_escape_string,或者更好地使用PDO与数据库对话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10119072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档