[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как привести текст к единой кодировке?
Владимир55
В массиве элементы содержат текст, цифры и служебные знаки (тире, точка, # и т.п.).

Нюанс в том, что текст в одних ячейках массива имеет кодировку 1251, а в других utf8. И где какой - неизвестно.

А надо, чтобы все элементы массива были в кодировке 1251.

Как бы это сделать?

* * *

Перекодировать все подряд типа
$slovo = iconv('utf-8', 'cp1251', $slovo);

не годится - кириллический текст исчезает.
depp
насколько я знаю php не умеет определять кодировку строк с русскими буквами. адекватного решения проблемы вроде бы тоже не существует.
brevis
С помощью какой-нибудь mb_detect_encoding() или какого-нибудь трюка с той же страницы попробуй определять кодировку. Если не cp1251 -- преобразовывай.

_____________
Чатик в телеге
Владимир55
Перебираю элементы массива и определяю его кодировку
echo mb_detect_encoding($str, "UTF-8, ASCII, windows-1251");


И вот такой смешной результат
user posted image
brevis
Ну значит нужно нагуглить какой-нибудь работающий способ. На странице с описанием бага с русскими символами подсказывают этот http://popoff.donetsk.ua/text/work/libs/a/charset/

P.S. Если этот тоже не сработает -- то ищи следующий и пробуй.


_____________
Чатик в телеге
Владимир55
Работает прекрасно! Большое спасибо!

==========
Я тут насочинял типа
if (preg_match("/[а-яА-ЯёЁ]/i", $slovo)) echo 'Attention, Russia!';
, но функция значительно надежнее!
Игорь_Vasinsky
Владимир55
ага, ещё Украина, Болгария, Сербия и ещё хз кто

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Владимир55
Кстати, подмечено очень верно - сербских и хорватских слов я не обнаружил, а вот украинских довольно много.

Есть ли способ их отличить?
Игорь_Vasinsky
во многих языках используется кириллица

http://phpforum.su/index.php?act=Print&cli...limin=2&limit=1

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.