В чем может быть причина, как я могу отладить это, чтобы я мог использовать БД SQLite?
SQLite сохраняет текст в базе данных по мере его получения. Таким образом, если вы храните текст в кодировке UTF-8 в базе данных SQLite, вы можете прочитать из него текст UTF-8.
Если вы сохраняете, скажем, текст LATIN-1 в базу данных, то вы можете прочитать из него текст LATIN-1.
Самому SQLite все равно. Таким образом, вы получаете то, что вы положили.
Когда вы пишете в своем вопросе, что отображение в браузере выглядит хорошо, я бы предположил, что по крайней мере некоторые действительные закодированные значения были сохранены в базе данных. Возможно, вы захотите заглянуть в свой браузер при просмотре этих данных, что ваш браузер говорит вам, в какой кодировке эти данные.
Если там написано UTF-8, тогда хорошо. Вы можете просто просмотреть текстовый файл в редакторе, который не поддерживает UTF-8, для просмотра файлов. Поскольку fwrite
также не заботится о кодировке, он просто помещает строковые данные в файл и все.
Так что, пока вы не предоставите дополнительную информацию по своему вопросу, трудно сказать что-то более конкретное.
См. Также: Как изменить кодировку символов соединения PDO / SQLite в PHP?