2013-03-05 2 views
0

Я успешно использую новейшую смоляную банку (от http://www.caucho.com/download/), чтобы позволить мне использовать устаревший PHP-код в моем веб-приложении Grails. Все делает отлично, ЗА ИСКЛЮЧЕНИЕМ наборов символов, отличных от ASCII.Quercus PHP Grails Character Encoding Issue

Эти символы отображаются в виде вопросительных знаков, и выглядит следующим образом: ???? ?? ???.

Я пробовал множество решений:

От установки php.ini быть utf8, чтобы убедиться extension=php_mbstring.dll включен в php.ini. Я также гарантировал, что база данных MySQL настроена на выполнение utf-8. Символы, хранящиеся в базе данных, отображаются правильно в phpMyAdmin.
Кроме того, я могу сделать die("BLAH"), где BLAH не является текстом ASCII, и он будет корректно выводиться в браузере. В моем браузере отображается заголовок содержимого utf-8 на всех страницах.

Другой Кикер, что я могу взять PHP кодовую работает в Grails, и запустить его внутри сервера WAMP на ЖЕ машины, подключение к той же базе данных MySQL, и выводит НЕРАСПРОСТРАНЕНИИ -ASCII-символы просто отлично.

Я чувствую, что это проблема передачи данных от MySQL к PHP, работающая в Grails (помните, что она работает от MySQL до того же PHP, что и в WAMP). В обоих случаях я даже выполняю mysql_query("SET NAMES 'utf8'") перед запуском моего запроса.

Я также попытался взять файл WAMP php.ini и использовать его в Grails, а Grails PHP все равно не будет играть хорошо ... Часть меня думает, что PHP-код в Grails не читает php. ini, и возвращается к некоторому по умолчанию php.ini (о котором я не знаю).
Например, если я делаю файл Grails php.ini пустым файлом, Grails все равно начинает нормально работать, и я могу отображать php-страницы. НО, если я поставил php.ini для мусора текста, как «asdfasdf», Grails не заводится ... так что заставляет меня верить, что видит php.ini ...

Дополнительная информация:

версия
  • MySQL: 5.0.22
  • РНР версии в Grails (смола/Quercus): 5.3.2
  • РНР версии в WAMP: 5.1.4
  • Grails версия 2,2

Я попробовал все, что я нашел в Интернете, но не повезло ... Спасибо за вашу помощь!

ответ