MySQL 更新/插入删除 unicode 条目的反斜杠

发布于 2024-10-19 01:04:10 字数 275 浏览 3 评论 0原文

我正在尝试使用将 unicode 编码为 \u 的 JSON 数据插入/更新 SQL 字段,但它正在将其删除:

"Sauteéd -> ["Saute\u00e9d"]

但是,它被保存在数据库中,如下所示:

["Sauteu00e9d"]

我尝试了无数的 preg_replace 和 str_replace 方法,但没有他们中的一些人工作。我能做点什么吗?这让我发疯。

谢谢!

I'm trying to insert/update a SQL field with JSON data that encodes unicode as \u, but it's stripping it out:

"Sauteéd -> ["Saute\u00e9d"]

However, it's being saved in the database like this:

["Sauteu00e9d"]

I've tried countless preg_replace and str_replace methods, but none of them work. Is there something I can do about this - it's driving me mad.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

滿滿的愛 2024-10-26 01:04:10

如果您不这样做,请使用mysql_real_escape_string

Use mysql_real_escape_string if you aren't.

朦胧时间 2024-10-26 01:04:10

我的猜测是你使用 PHP

在这种情况下你应该使用 mysql_real_escape 字符串而不是 preg 替换。
它更容易、更好地抵御 SQL 注入。

My guess is that you use PHP

In that case you should use mysql_real_escape string instead of preg replace.
It's easier and much better against SQL injections.

红玫瑰 2024-10-26 01:04:10

mysql_real_escape_string 显然现在已被弃用,因此您可以在现代 PHP 中执行此操作:

$value = $mysql_conn->real_escape_string("Saute\u00e9d");
$query = "update so_and_so set param = '$value' where var1 = 'somevalue'";
...
...

或者您碰巧运行查询...

mysql_real_escape_string is obviously now deprecated so here is how you would do it in modern PHP:

$value = $mysql_conn->real_escape_string("Saute\u00e9d");
$query = "update so_and_so set param = '$value' where var1 = 'somevalue'";
...
...

or however you happen to run your queries...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文