まず第一に、私のデータベースエンコーディングはutf-8です。
メソッドFußball
をindex.php
介して文字列をに送信する必要があります。POST
を使用してHTMLフォームを使用して送信するとaction="index.php"
、として送信されFu%DFball
、正しく返すためにhtmlentities()
phpファイルで使用します。それは素晴らしい働きをします。jQuery / AJAXを使用して送信しようとすると、問題が発生します。
$("#Form").submit(function() {
$.ajax({
type: "POST",
dataType : "text",
url: "index.php", //Does the validation
data: $("#Form").serialize(),
success: function(data) {
alert(data)
},
});
return false;
});
として送信され、としてFu%C3%9Fball
返されFuÃ
ます。私はそれをデコードするか、別の方法で送信するためにすべてを試しました。さまざまなシナリオで返されるものは次のとおりです。
htmlentities()
phpファイルで通常どおりに送信します。
FuÃ
phpファイルのhtmlentities()
有無にかかわらず、通常どおりに送信しますhtmlspecialchars()
Fußball
utf8_decode()
phpファイルで正常に送信
Fu
escape()
文字列を送信する前に、encodeURIComponent()
またはcontentType: "utf-8"
jQueryスクリプトで、を使用すると、.php
ファイルが理解できない方法でフォームが送信されますが、それだけでなく、文字列はとして送信されFu%C3%9Fball
ます。
また、ファイルタイプごとに適切なコマンドを使用して、すべてのドキュメントをとしてエンコードしましたutf-8
が、違いはなかったので、最初からすべてだったと思いutf-8
ます。