[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ASCII word UTF-8 сравнение
asp_
Всем добрый день!

Второй день бьюсь с одной проблемой.
Достаю текст из файла word (.doc). Все выводится нормально (в том числе кириллица). Но сравнение строк дает отрицательный результат

$text = 'фио текст текст'; // допустим это достаем из файла

if($text == 'фио текст текст'){
echo 'ok';
}

Данное сравнение не срабатывает.
Функция mb_detect_endcoding показывает что $text в ASCII
Файл скрипта в utf-8

iconv, mb_convert_encoding и подобные функции не работают
Игорь_Vasinsky
Цитата
if($text == 'фио текст текст'){

ты уверен что условие выполняется?

самое простое - это сделать echo

можно подсчитать кол-во символов с mb_strlen()

_____________
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
asp_
Нет, в том то и проблема - условие не выполняется, из-за разных кодировок этих строк. А привести к одной не получается.
asp_
mb_strlen($text) == 24
mb_strlen('ФИО') == 6
Игорь_Vasinsky
if(iconv('windows-1251', 'utf-8', $text) == 'фио текст текст'){


это если ты дейст-но работаешь в юникоде

_____________
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
asp_
Результат тот же
Игорь_Vasinsky
if(iconv('windows-1251', 'utf-8', 'фио текст текст') == $text){


_____________
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
asp_
не работает
Быстрый ответ:

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