1

いくつかの特殊文字を含む可能性のあるデータを MySQL データベースに保存しています。これらの文字がPHPまたはJavaScript経由でHTMLに出力された場合、これらの文字が保持されるように保存する方法を考えています。

たとえば、除算記号 (÷) には 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

したがって、おそらく次の 2 つのことが起こっています。

  1. JSON は特殊文字をエスケープします。
  2. コード フローのどこかで、文字列の URL エンコードも行われています。

したがって、JavaScript で文字列をデコードするか、コードのどの部分がそれらの文字列を URL エンコードしているかを見つけて修正する必要があります。

于 2013-02-28T04:41:48.787 に答える