Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
|VoroN|
13 / 13 / 6
Регистрация: 24.04.2011
Сообщений: 109
#1

Строковые функции и utf-8 - PHP

23.08.2014, 13:57. Просмотров 1287. Ответов 4
Метки нет (Все метки)

Hello world всем, и в общем обращаюсь с таким вопросом: каким образом вы используете utf-8 и строковые функции? Я конечно же слыхал про такую штуку как mbstring, но список ее функций весьма ограничен, где же мои любимые trim(), str_split(), strrev() и т.д.? Есть ли у вас какие-то методики, которые помогают вам сделать работу со строками легкой и непринужденной? Или для того что бы заставить даже мизерную функцию php нормально работать с кириллицей, надо каждый раз лезть в гугль и искать костыль принуждающий ее должным образом функционировать? Или я один у кого такой вопрос возникает? А то сколько литературы не перечитал, нигде как-то этот вопрос не поднимается, хотя вроде бы и XXI век на дворе - время юникода, но какую-бы книгу или пост не открыл, всюду все те же стандартные функции не работающие с многобайтовыми кодировками :\ Объясните пожалуйста, а то у меня возникают ощущение, что я не знаю чего-то, о чем знают все, но в силу веры предпочитают не говорить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2014, 13:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строковые функции и utf-8 (PHP):

Строковые функции и кириллица в UTF-8 - PHP
Здравствуйте! Я всегда использую кодировку utf-8. К сожалению многие функции php совершенно игнорируют этот факт. Например, функция...

строковые функции - PHP
Задача такая, нужно сохранить в переменную, дату 1956 (дата может быть и другой). Сохранить при условии что будет найдено сочетание...

строковые функции php и кодировка - PHP
Уже давно использую PHP. Но обычно работал в кодировке windows-1251, а с недавнего времени перешел на utf-8. А на днях попал в глупую...

UTF-8 - PHP
Если я правильно понял, для 1 вопроса надо делать 1 тему.. Так вот второй вопрос, который мучит - кодировка в Дримвивере cs пять. В...

Перекодировать в UTF-8 - PHP
Здравствуйте. Движок сайта Wordpress.Установил плагин к нему WPMovieLibrary(плагин фильмотеки).Там есть поиск фильмов по алфавиту отрывок...

Unicode и UTF-8 - PHP
Всем Доброго! Объясните пожалуйста, что такое Unicode и UTF-8. Не нужно только давать ссылки на поисковые системы и на консорциум - не...

4
Voka
202 / 194 / 59
Регистрация: 27.12.2010
Сообщений: 819
Записей в блоге: 1
23.08.2014, 15:19 #2
Мало у кого такие проблемы возникают, все пользуются и trim(), и str_split(), и strrev() и т.д в utf-8.
Главное:
1. Сохраняй файлы в кодировке UTF-8
2. Посылай header('Content-Type: text/html; charset=utf-8');
0
|VoroN|
13 / 13 / 6
Регистрация: 24.04.2011
Сообщений: 109
23.08.2014, 15:36  [ТС] #3
Да это у меня уже давно взято за правило, равно как и проставление кодировки по умолчанию в apache и mysql. Но все одно - не помогает. Касательно trim(), я даже такое делал: trim($str," \xC2\xA0") - по заверению многих, это помогает в 99%, но видимо я тот самый 1% ))
0
Voka
202 / 194 / 59
Регистрация: 27.12.2010
Сообщений: 819
Записей в блоге: 1
23.08.2014, 15:39 #4
Цитата Сообщение от |VoroN| Посмотреть сообщение
умолчанию в apache и mysql
В apache не менял, какая стояла такая и стоит, в mysql перед запросом посылаю UTF-8(использую mysqli)
0
|VoroN|
13 / 13 / 6
Регистрация: 24.04.2011
Сообщений: 109
23.08.2014, 23:43  [ТС] #5
Да с mysql у меня все в порядке, так написал что бы не было лишних советов, типа "попробуй проставить кодировки по умолчанию"... Да и выводится оно все хорошо именно до тех пор, пока я не отдам обработать текст какой-либо строковой функции, не имеющей перед собой заветные символы mb_... . Вот такая вот загогулина :\

Добавлено через 7 часов 56 минут
Мдя... Как обычно ничего толкового не предложили :\ Ладно, если кто столкнется с такой же проблемой, вот каким костылем пользуюсь, авось пригодится:
PHP
1
2
3
4
5
$str = " Строка ";
$str = iconv("UTF-8", "WINDOWS-1251", $str); //перегоняем строку в однобайтовую кодировку
$str = trim($str); //юзаем нужную функцию
$str = iconv("WINDOWS-1251", "UTF-8", $str); //перегоняем результат работы обратно в utf-8
echo "<p>"."нет отступам".$str."бляха муха"."</p>"; //проверяем результат
Геморрой однако, придется вступать в ряды уповающих в пришествие PHP6, которая равно как и Half-Life 3 вряд ли когда увидит свет.
0
23.08.2014, 23:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2014, 23:43
Привет! Вот еще темы с ответами:

Не распознается UTF-8 - PHP
Есть страница, возвращаемая PHP модулем в кодировке UTF-8. Опера распознает ее автоматически, а IE и FireFox нет. Как им указать...

Substr_replace и utf-8 - PHP
При использовании substr_replace и utf-8 криво обрезается строка, походу остается лишний байт. Что с этим сделать?

Mb_substr_count с utf-8 - PHP
Подскажите, пожалуйста, в чем может быть проблема? При запуске пустая страница, стоит поменять ы на любой английский символ,...

utf-8 и php - PHP
Здраствуйте, вообщем суть в том, что.. Вот создаю я чистый файл с расширением .php сохраняю я его в кодировке utf-8 без Бом отсылаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru