Я читал несколько вещей на эту тему, но все же у меня есть сомнения, которыми я хочу поделиться с сообществом.
Я хочу добавить полную поддержку utf-8 в разработанное мной приложение DaDaBIK; приложение можно использовать с разными СУБД (такими как MySQL, PostgreSQL, SQLite). Кодировка, используемая в базах данных, может быть ЛЮБОЙ. Я не могу установить или принять кодировку.
Мой подход будет заключаться в преобразовании с использованием функций iconv всего, что я читаю из БД в utf-8, а затем конвертации обратно в исходную кодировку, когда мне нужно записать в БД. Это позволило бы мне предположить, что я работаю с utf-8.
Проблема, как вы, вероятно, знаете, заключается в том, что PHP изначально не поддерживает utf-8, и даже если предположить, что используется mbstring, существуют (согласно http://www.phpwact.org/php/i18n/utf-8) несколько функций PHP, которые могут создавать проблемы с utf-8 и НЕ имеют соответствие mbstring, например расширение PREG, strcspn, trim, ucfirst, ucwords....
Поскольку я использую некоторые внешние библиотеки, такие как adodb и htmLawed, я не могу контролировать весь исходный код... в этих библиотеках есть несколько случаев использования этих функций... у вас есть какой-нибудь совет? И, прежде всего, как очень популярные приложения, такие как wordpress и т. д., справляются с этой (ИМХО большой) проблемой? Я сомневаюсь, что у них нет никакой «обрезки» в коде… они просто берут на себя риск (например, повреждение данных) или есть что-то, чего я не вижу?
Большое спасибо.