Можно ли представить все как UTF-8?
Да, UTF-8 - это кодировка Unicode, поэтому вы можете использовать любой символ, определенный в Unicode. Это лучшее, что вы можете сделать с компьютером на сегодняшний день.
Что я могу использовать для эффективного преобразования любой кодировки символов в UTF-8
iconv
позволяет преобразовывать практически любую кодировку в любую другую кодировку. Но , для этого вы должны знать, с какой кодировкой вы имеете дело. Вы не можете сказать "iconv
, что бы это ни было, сделайте это UTF-8!" . Это, к сожалению, не так, как это работает. Вы можете только сказать "iconv
, у меня есть эта строка в BIG5, пожалуйста, конвертируйте ее в UTF-8." .
Если вы имеете дело только с данными формы в UTF-8, вам, вероятно, никогда не понадобится конвертировать что-либо.
чтобы я мог разобрать его с помощью строковых функций PHP
«Строковые функции PHP» работают с байтами. Они не заботятся о символах или кодировках. В зависимости от того, что вы хотите сделать, работа с наивными строковыми функциями PHP над текстом UTF-8 даст вам плохие результаты. Используйте строковые функции с поддержкой кодирования в расширении МБ для любых операций с многобайтовыми строками кодирования.
сохранить в моей базе данных
Просто убедитесь, что ваша база данных хранит текст в UTF-8, и вы установили соединение с базой данных на UTF-8 (то есть база данных знает, что вы отправляете ей данные UTF-8). Вы должны указать это в настройках соединения с базой данных CodeIgniter.
впоследствии эхо, используя htmlentities?
Просто echo htmlentities($text)
, больше ничего вам не нужно делать.
Однако мое веб-приложение использует: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Это может оказать неблагоприятное влияние на вещи.
Совсем нет. Он просто сигнализирует браузеру, что ваша страница закодирована в UTF-8. Теперь вам просто нужно убедиться, что это действительно так (как вы пытаетесь это сделать в любом случае). Это также подразумевает для браузера, что он должен отправить UTF-8 на сервер. Вы можете сделать это явным образом с помощью атрибута accept-charset
в формах.
Могу ли я порекомендовать Что каждый программист должен абсолютно, положительно знать о кодировках и наборах символов для работы с текстом , что может помочь вам понять больше.