私のウェブサイトからデータを取得するリクエストを投稿すると中华武魂
のようなデータベースに文字列があります%E4%B8%AD%E5%8D%8E%E6%AD%A6%E9%AD%82
という形式でデータを取得していますURLENCODEDデータをPHPでUTF-8に変換
使用可能な形式に戻すには、どのようなデコード手順が必要ですか? ユーザインプットを掃除して、SQLインジェクション攻撃を試みないようにしますか? (エスケープ文字列の前または後にエンコード?)
編集:私がしようとすると、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 "ä¸åŽæ¦é‚"
...。
私はUTF-8のヘッダを指定せずにecho
とdie();
をやっていたので、私は(したがって、私はそれがラテン語と私に読んでいたと思います)の助けを
おかげだと思います!
出力にはUTF-8を使用していないようですが、Windows-1252は使用しているようです。 – Gumbo