中华武魂
私のウェブサイトを介してデータを取得するリクエストを投稿するときのように、データベースにある文字列を持っています。データを次の形式でサーバーに取得しています%E4%B8%AD%E5%8D%8E%E6%AD%A6%E9%AD%82
使用可能な形式に戻すには、どのようなデコード手順を実行する必要がありますか? また、ユーザー入力をクリーンアップして、SQL インジェクション攻撃を試みないようにしますか? (エンコード前またはエンコード後のエスケープ文字列?)
編集:
rawurldecode(); // returns "ä¸åŽæ¦é‚"
urldecode(); // returns "ä¸åŽæ¦é‚"
public function utf8_urldecode($str) {
$str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));
return html_entity_decode($str,null,'UTF-8');
}
// returns "ä¸åŽæ¦é‚"
... SQLステートメントで試して使用すると実際に機能します。
echo
UTF-8のヘッダーを指定せずにandを実行していたためだと思いますdie();
(したがって、ラテン語として読んでいたと思います)
助けてくれてありがとう!