漢字

2012-04-12 9 views
0

Clientページ:漢字

<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> 

Serverページ:

$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を印刷すると、中国語の文字で正しいテキストが表示されます。

しかし、私のような、変数に格納した場合:

$name= "valuevalue (官话)"; 
$query = "Select * from programme where Programme_name Like '%".$name."'"; 

それは結果を生成します。 これはどうやってPOSTでは静的な値宣言ではありませんか? 私のOSはXP SP3です。

POST中に漢字の「内部」表現に問題はありますか? 中国語の表記をサポートするために、OSに何か設定する必要がありますか?

+2

Javaの部分はどこですか? – Thomas

+0

私はJSPでこれもやってみました...同じことが他の何かと関係しているのだろうかと思います –

答えて

0

mySQLのエスケープされていない生の入力をしています。

入力文字列にmysql_real_escape_stringを使用するか、PDOを使用してデータベースと通信する方が良い場合があります。

関連する問題