在mysql数据库中存储可以通过JavaScript和HTML读取的特殊字符

时间:2013-02-28 04:30:54

标签: php javascript jquery html sql

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

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

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

鉴于我可以修改SQL,PHP或JavaScript,这里有一个简单的解决方法吗?也许是一种在JavaScript中浏览HTML实体的方法?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

所以可能会发生两件事:

  1. JSON转义特殊字符。
  2. 在某处,代码流中的某些内容也是对字符串进行编码的URL。
  3. 所以你只需要解码JavaScript中的字符串,或者你需要找到你的代码的哪一部分是对这些字符串进行编码的URL并修复它。