【问题标题】:Store special character in mysql database that can be read by JavaScript and HTML在 mysql 数据库中存储可以被 JavaScript 和 HTML 读取的特殊字符
【发布时间】:2013-02-28 04:30:53
【问题描述】:

我将数据存储在可能包含一些特殊字符的 MySQL 数据库中。我想知道如何存储它,以便在这些字符通过 PHP 或通过 JavaScript 输出到 HTML 时保留这些字符,例如创建文本节点。

例如,除号 (÷) 的 html 代码为 ÷,当我将其存储为 PHP 直接放入 HTML 时显示正常,但当我使用 $.getJSON 将其拉入 JavaScript 时然后用 createTextNode 插入它,它看起来像 ÷

我也尝试将符号直接存储在 SQL 中,但我的理解是需要将该列从 VARCHAR 更改为 NVARCHAR,这会导致似乎没有必要的性能损失。

鉴于我可以修改 SQL、PHP 或 JavaScript,这里有一个简单的修复方法吗?也许是一种在 JavaScript 中取消转义 HTML 实体的方法?

【问题讨论】:

  • 将数据库排序规则更改为utf8_general_ci。也适用于表格和列。

标签: php javascript jquery html sql


【解决方案1】:

正如 Yogesh 所回答的,您应该将数据库的排序规则切换为 utf8_general_ci

【讨论】:

    【解决方案2】:

    所以可能发生了两件事:

    1. JSON 转义特殊字符。
    2. 在某个地方,您的代码流中的某些内容也在对字符串进行 URL 编码。

    所以你只需要在你的 JavaScript 中解码字符串,或者你需要找到你的代码的哪一部分是对这些字符串进行 URL 编码并修复它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2013-04-21
      • 2017-01-01
      • 1970-01-01
      • 2015-06-14
      相关资源
      最近更新 更多