首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我在MySQL中插入代码时,代码会发生变化

当我在MySQL中插入代码时,代码会发生变化
EN

Stack Overflow用户
提问于 2013-06-04 02:23:03
回答 1查看 182关注 0票数 4

我用这个网页http://javascriptobfuscator.com/default.aspx混淆了一个小脚本。

代码语言:javascript
运行
复制
$(document).ready(function(){
$("#likee").fadeOut("fast");
}); 

混淆后的代码是:

代码语言:javascript
运行
复制
$(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中。然而,当我插入代码时,我得到了这样的结果:

代码语言:javascript
运行
复制
$(document)["x72x65x61x64x79"](function (){$("x23x6Cx69x6Bx65x65")["x66x61x64x65x4Fx75x74"]("x66x61x73x74");} );

有人知道为什么要去掉反斜杠吗?

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

EN

回答 1

Stack Overflow用户

发布于 2013-07-02 13:52:11

我相信这与编码有关。我猜您对插入数据的文本/varchar(或某种类型)列使用的是utf8编码格式。

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16903297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档