簡體   English   中英

將特殊字符存儲在可由JavaScript和HTML讀取的mysql數據庫中

[英]Store special character in mysql database that can be read by JavaScript and HTML

我將數據存儲在可能具有一些特殊字符的MySQL數據庫中。 我想知道如何存儲它們,以便保留這些字符,無論它們是通過PHP還是通過JavaScript(例如createTextNode)輸出到HTML。

例如,分隔符號(÷)具有html代碼÷ ,當我將其存儲為那樣時,將其直接用PHP放到HTML中時顯示得很好,但是當我使用$ .getJSON將其放到JavaScript中,然后用createTextNode插入時,它看起來像÷ ;。

我也嘗試過將符號直接存儲在SQL中,但是我的理解是,該列需要從VARCHAR更改為NVARCHAR,這將導致性能降低,這似乎沒有必要。

鑒於我可以修改SQL,PHP或JavaScript,這里有一個簡單的解決方法嗎? 也許可以在JavaScript中取消對HTML實體的轉義?

正如Yogesh回答的那樣,您應該將數據庫的排序規則切換為utf8_general_ci

因此,可能發生了兩件事:

  1. JSON轉義特殊字符。
  2. 在代碼流中的某個地方,URL也會對字符串進行編碼。

因此,您只需要在JavaScript中解碼字符串,或者您需要查找代碼的哪一部分是對這些字符串進行URL編碼並進行修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM