Я портирую веб-приложение PHP, написанное с MySQL 5, на SQLite 3. Кодировкой текста для обоих является UTF-8 (для всех полей, таблиц и баз данных).У меня возникают проблемы при переносе базы геоданных со специальными символами.
mb_detect_encoding()
обнаруживает, что оба возвращают данные UTF-8.
Например,
Rawвывод:
MySQL (правильный): Дарб, Иран
SQLite (неправильный): DÄrÄb, Иран
Кодировка JSON:
MySQL (правильный): D \ u0101r \ u0101b, Иран
SQLite (неправильный): D \ u00c4 \ u0081r \ u00c4 \ u0081b, Иран
Что решает проблему:
$sqlite_output = utf8_encode($sqlite_output);
$sqlite_output = utf8_decode($sqlite_output);
Я предполагаю, что есть способ восстановить базу данных SQLite.Заранее спасибо.