2013-02-28 3 views
1

Я храню данные в базе данных MySQL, которые могут иметь некоторые специальные символы. Мне интересно, как сохранить его, чтобы эти символы сохранялись, если они либо выводятся в HTML через PHP, либо через JavaScript, например. createTextNode.Храните специальный символ в базе данных mysql, который может быть прочитан JavaScript и HTML

Например, символ разделения (÷) имеет код html ÷, и когда я его храню как то, что он отображается отлично, когда он помещается непосредственно в HTML с помощью PHP, но когда я вывожу его в JavaScript с помощью $ .getJSON и затем вставьте его с помощью createTextNode, который выглядит как ÷.

Я также пытался хранить символ в SQL напрямую, но я понимаю, что столбец нужно будет изменить с VARCHAR на NVARCHAR, и это приведет к хиту производительности, который не кажется необходимым.

Учитывая, что я могу изменить SQL, PHP или JavaScript, есть ли здесь легкое исправление? Может быть, способ unescape объект HTML в JavaScript?

+0

изменить сортировку базы данных на 'utf8_general_ci'. для таблицы и столбца. –

ответ

1

Как ответил Йогеш, вы должны переключить сверка БД в utf8_general_ci

0

Так что, вероятно, две вещи, идущие на:

  1. JSON экранирует специальные символы.
  2. Где-то в вашем потоке кода есть URL-код, кодирующий строки.

Так что вам просто нужно декодировать строку в вашем JavaScript или вам нужно найти, какая часть вашего кода является URL-кодированием этих строк и исправить ее.

Смежные вопросы