1

我将数据存储在可能有一些特殊字符的 MySQL 数据库中。我想知道如何存储它以便保留这些字符,如果它们通过 PHP 或通过 JavaScript 输出到 HTML,例如 createTextNode。

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

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

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

4

2 回答 2

1

As answered by Yogesh, you should switch your collation of the DB to utf8_general_ci

于 2013-02-28T04:40:48.093 回答
0

所以可能有两件事发生:

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

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

于 2013-02-28T04:41:48.787 回答