PHP MySQL Flex Unicode - PullRequest
       2

PHP MySQL Flex Unicode

0 голосов
/ 07 января 2011

У меня проблема с сохранением символа £ в базе данных mysql.

  1. Я использую гибкий интерфейс с php + mysql backend

  2. Когда я сохраняю запись из flex, строка отправляется на сервер как «Эта сумма составляет £ 10»

  3. php просматривает строку, как указано выше, и когда онасохраняется в БД, сохраняется как «Эта сумма составляет £ 10».Насколько я понимаю, это правильно на основе MySQL или PHP добавляет Â всякий раз, когда используется £

  4. Теперь я получаю вышеуказанную запись, и она отправляетсясгибать как «Эта сумма составляет £ 10».Flex корректно отображает это в текстовой области как «Эта сумма составляет 10 фунтов стерлингов»

  5. Я изменяю другое поле в той же записи в flex и повторно сохраняю транзакцию.Теперь строка отправляется на сервер как «Эта сумма составляет £ 10»

  6. Запись теперь сохраняется в БД как «Сумма £ 10».Каждый раз, когда запись повторно сохраняется, этот эффект превращается в снежный ком.

Спасибо за любой совет, который вы можете дать.

Ответы [ 3 ]

0 голосов
/ 07 января 2011

Звучит для меня как проблема с кодировкой.Я не использовал flex, я использую формы Dojo с Zend Framework и Doctrine 2, который обрабатывает все в формате utf-8.

Попробуйте установить все в utf-8:

  1. mysql_set_charset( 'utf8', $ сопп);
  2. добавьте в шапку:

У меня были подобные проблемы, когда форма была ISO-8859-1, вы также можете попробовать функцию php: utf8_encode () при получении значений из формы.Иногда мне было трудно найти источник ISO-8859-1, и тогда я обычно пытаюсь отладить, используя функции декодирования / кодирования.

0 голосов
/ 09 января 2011

В конце концов, это, похоже, проблема amfphp, обнаруженная на ghalex.com/blog/as3flexdb-and-utf8

0 голосов
/ 07 января 2011

используйте Unicode £ вместо знака £ перед вставкой в ​​MySQL.

проверить кодировку базы данных? Это может быть проблемой.

...