gpt4 book ai didi

php - 为什么mysql不存储 "#"字符后的数据?

转载 作者:行者123 更新时间:2023-11-29 05:45:25 25 4
gpt4 key购买 nike

我做了一个表格,里面有富文本编辑器。我正在尝试将数据存储到数据库中。
现在我主要有两个问题..

1) 一旦包含“#”的字符串(基本上当我尝试更改字体颜色时)字符,那么它就不会在“#”之后存储字符。而且它也不存储“#”字符。

2) 虽然我已经尝试过....在 javascript 中

html.replace("\"","'");

但它不会将双引号替换为单引号。

最佳答案

我们需要看一些代码。我的感觉是你在某处缺少一些重要的逃避步骤。特别是:

As soon as the string which contents "#"(basically when i try to change the color of the font) character

对我来说,您可能会将字符串粘在一起形成这样的 URL:

var url= '/something.php?content='+html;

当然,如果 html 包含一个 # 符号,您就会遇到问题,因为:

http://www.example.com/something.php?content=<div style="color:#123456">

# 开始一个名为 #123456"> 的片段标识符,就像当您将 #section 放在 URL 的末尾以转到 HTML 文件中名为 section 的 anchor 时。片段标识符纯粹是客户端的,不会发送到服务器,服务器会看到:

http://www.example.com/something.php?content=<div style="color:

然而,这远不是上述问题的唯一问题。空格,<= 在 URL 中是无效的,其他像 & 这样的字符也会弄乱参数解析。要将任意字符串编码为查询参数,您必须使用 encodeURIComponent :

var url= '/something.php?content='+encodeURIComponent(html);

这会将 # 替换为 %35,对于其他带外字符也是如此。

但是,如果这确实是您正在做的事情,那么在任何情况下您都不应将任何内容存储到数据库以响应 GET 请求,也不应依赖 GET 来传递可能较大的内容。请改用 POST 请求。

关于php - 为什么mysql不存储 "#"字符后的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2736027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com