php - 当我将它插入 MySQL 时,我的代码发生了变化

标签 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");} );

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

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

最佳答案

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

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?

关于php - 当我将它插入 MySQL 时,我的代码发生了变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16903297/

相关文章:

php - AJAX 脚本没有正确地将变量解析为 php

javascript - 使用 getElementById 在 javascript 中使用正则表达式进行 Html 表单验证?

php - 使用 json_encode 将数组从 PHP 传递到 JavaScript 显示空值

javascript - 获取表单中相对于按钮的输入值

javascript - 将数据返回到 jquery 中的 ajax 调用

php - 在mysql数据库中保存事件日期

php - 我们如何在 php 中拆分日期?

javascript - 用于过滤的 PHP 和 jquery Ajax 和无限滚动

javascript - 过度依赖预处理器是一个坏习惯吗?

javascript - 如何在 ExtJs 4 或 3 中编写自定义布局