2013-06-11 2 views
1

Итак, я разрабатывал что-то с PHP и MongoDB на окнах с xampp, и я переместил свои php-файлы в linux mint, он запускает apache2 с php cgi 5.4.php echo and echo json_encode возвращает странные символы

После того как я переместил файлы (без изменения) в linux, php начал возвращать эти странные символы после каждого ответа.

echo 'success'; 

ответ приходит как этот

sucess���������������� 

при преобразовании выглядит как этот

sucess� 

Похоже, они добавляются в конец всего, вот скриншот ответов с firebug (только левая сторона рис.)

Link to the Image

Также mongod начал эхом некоторые ошибки, которые никогда не существовали на окнах (правая сторона картинки для справки).

Я не использую никаких специальных символов, языков, кодировок, ничего подобного.

Неужели кто-нибудь испытал что-нибудь подобное?

+0

Проверьте наличие каких-либо символов [BOM] (http://en.wikipedia.org/wiki/Byte_order_mark) в вашем файле – swapnesh

+0

Вы пытались выйти после эха? – steven

+0

@steven ill try, что – abdu

ответ

-1

Mongo сохраняет все строки как utf-8 и ожидает, что они будут доставлены как таковые. Просто преобразуйте свои данные в utf-8, прежде чем получать его из mongo, и вы настроены.

+0

Эта проблема возникает, даже если я эхо «sucess», никаких данных от mongodb вообще. – abdu

+0

@abdu вы проверили выход HTML вашего ответа .. – Farhan

+0

Я не создаю html, я возвращаю данные (строка/json string) с помощью ajax – abdu

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