MongoDB PHP UTF-8 problems

Предположим, мне нужно вставьте следующий документ:

{
    title: 'Péter'
}

(обратите внимание на é)

Это вызывает ошибку, когда я использую следующий PHP-код ...:

$db->collection->insert(array("title" => "Péter"));

... потому что это должен быть utf-8.

Итак, я должен использовать эту строку кода:

$db->collection->insert(array("title" => utf8_encode("Péter")));

Теперь, когда я запрашиваю документ, мне все равно нужно его декодировать ...:

$document = $db->collection->findOne(array("_id" => new MongoId("__someID__")));
$title = utf8_decode($document['title']);

Есть ли способ автоматизировать этот процесс? Могу ли я изменить кодировку символов MongoDB (я переношу базу данных MySQL, использующую cp1252 West Europe (latin1)?

Я уже рассматривал возможность изменения заголовка Content-Type, проблема в том, что все статические строки (жестко запрограммированные) не являются utf8 ...

Заранее спасибо! Tim

15
задан elslooo 7 May 2011 в 11:05
поделиться