Я перенес приложение php с одного сервера на другой (от 5.2.4 до 5.2.17), и весь вывод, который я получаю от приложения на новом сервере, - это вопросительные знаки:

?????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? ????????????

Что я заметил, так это то, что если я повторяю что-то вне объявлений функций, я получаю правильный текст, но если это внутри функции, я получаю вопросительный знак:

if(!function_exists('nosql')){
echo "test";  // outputs correct
function nosql(){
echo "a new test"; // outputs "???????????????" to the page

Заранее спасибо.

-K

php
0
user1032442 6 Ноя 2011 в 20:39
Во-первых, вы не закрываете фигурные скобки. Вам нужно сделать это.
 – 
fishman
6 Ноя 2011 в 20:43
1
Спасибо, но это всего лишь фрагмент, чтобы показать поведение. проблема не в брекетах, а в другом...
 – 
user1032442
6 Ноя 2011 в 20:46
Покажите шестнадцатеричный вывод соответствующей страницы, а не отрывок. Какая кодировка страницы?
 – 
mario
6 Ноя 2011 в 20:54
Кодировка utf-8. Что-то, что я заметил, интересно, это то, что запуск файла из командной строки показывает правильный вывод....
 – 
user1032442
6 Ноя 2011 в 21:01
Ребята, я понял. Это вызывает проблемы. Пока не уверен, что не так с конфигурацией, но запуск от имени dso исправляет вывод. Спасибо всем за внимание.
 – 
user1032442
6 Ноя 2011 в 21:12

1 ответ

Проверьте кодировку рассматриваемого файла. Сохраните его как UTF-8 без спецификации.

Это лучшее предположение, которое я могу дать с предоставленной вами информацией. Я могу дать вам еще несколько предположений, если это не проблема.

1
hakre 6 Ноя 2011 в 21:11