当我将其插入MySQL时,我的代码会发生变化

时间:2013-06-03 18:23:03

标签: php javascript

我使用此网页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");} );

有人知道为什么会删除反斜杠吗?

我的代码是否可以在没有反斜杠的情况下工作?

1 个答案:

答案 0 :(得分:0)

我认为它与编码有关。我猜你正在使用utf8编码格式来插入数据的text / varchar(或某种排序)列。

utf8编码格式只接受可用3个字节表示的unicode字符,但\ x23字符需要4个字节,因此mysql会删除该字符。

如何解决? 你有mysql 5.5或更高版本?您可以将列编码从utf8更改为utf8mb4。此编码允许4个字节的字符。

来源:"Incorrect string value" when trying to insert UTF-8 into MySQL via JDBC?