4

この Web ページhttp://javascriptobfuscator.com/default.aspxを使用して、小さなスクリプトを難読化しました。

$(document).ready(function(){
$("#likee").fadeOut("fast");
}); 

難読化されたコードは次のとおりです。

$(document)["\x72\x65\x61\x64\x79"](function (){$("\x23\x6C\x69\x6B\x65\x65")["\x66\x61\x64\x65\x4F\x75\x74"]("\x66\x61\x73\x74");} );

フォームを使用して、難読化されたコードを mysql に挿入しています。ただし、コードを挿入すると、次のようになりました。

$(document)["x72x65x61x64x79"](function (){$("x23x6Cx69x6Bx65x65")["x66x61x64x65x4Fx75x74"]("x66x61x73x74");} );

バックスラッシュが削除される理由を知っている人はいますか?

私のコードはバックスラッシュなしで動作しますか?

4

1 に答える 1

0

エンコーディングと関係があると思います。データが挿入される te​​xt/varchar (または何らかの並べ替え) 列に utf8 エンコード形式を使用していると思います。

utf8 エンコーディング形式は、3 バイトで表現できる Unicode 文字のみを受け入れますが、\x23 文字には 4 バイトが必要なため、mysql は文字を取り除きます。

の解き方?mysql 5.5 以降を使用していますか? 列のエンコーディングを utf8 から utf8mb4 に変更できます。このエンコーディングでは、4 バイトの文字を使用できます。

ソース: JDBC 経由で UTF-8 を MySQL に挿入しようとすると、「文字列値が正しくありません」?

于 2013-07-02T05:52:11.260 に答える