mb_strtolower, strtolower, stripos и др. не работают с русскими символами
Когда я ввожу в код php строки, то они выводятся на экран нормально, но стоит обработать их функциями mb_strtolower, strtolower, stripos и некоторыми другими и строки сразу же превращаются в вопросы. Например если я введу:
echo $B="Наш мячик очень оригинальный!";
В итоге результат работы функций непредсказуем. Например, попытка найти первую позиции вхождения в $B подстроки $A:
Тестирую на Denver, PHP Version 5.2.12. В настройках сервера стоит:
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
1 В скрипт php добавила строку указывающую настройки действующие на все мульбайтовые функции:
Пользуюсь случаем и хочу спросить Вас
Если я создаю html-документ
прописываю в нём charset= UTF-8
запускаю файл в браузере и вижу типа такова ��� �����
Теперь сам html-файл сохраняю КАК UTF-8, теперь всё в порядке.
Сам вопрос
Но почему-то некоторые html-файлы сохранены Как ASCII и в html-документе указан charset= utf-8 тоже работают нормально.
Не могу, понять из-за чего это происходит?
Думаю это связанно с шрифтами или редактором.
Это не то там не идет речи об самом файле как он сохранен на диске.
Не могу, понять из-за чего это происходит?
Думаю это связанно с шрифтами или редактором.
Небось, английские символы выводятся нормально, а русские нет?
))))) Браво, Кэп!
Небось, английские символы выводятся нормально, а русские нет?
Вроде сегодня не 1 апреля.
Сам вопрос
Но почему-то некоторые html-файлы сохранены Как ASCII и в html-документе указан charset= utf-8 тоже работают нормально.
Не могу, понять из-за чего это происходит?
Думаю это связанно с шрифтами или редактором.
Это может происходить например если кодовая страница установленная в браузере клиента совпадает с кодировкой файла. В таком случае браузер клиента игнорирует установленный charset - он выводит страницу в той кодировке, в которой ему приказали.
Я правильно понял кодировка файла - это ASCII или UTF-8 в плане как он сохранен на диске.
А вот тут Вы меня озадачили игнорирует установленный charset, если charset прописан, то браузер ну никак не может его игнорировать. Другое дело если charset не прописан, вот тогда браузер пытается подставить кодировку страницы. Честно сказать браузеру по барабану как сохранены файлы на диске в ASCII или UTF-8 т.к разметка документа сохраняется, что в ASCII или UTF-8 . Это должен делать программист как сохранять файл. Или что я не понял.
P.S
Это по HTML-документу. Если charset= utf-8 тогда сохранить файл Как UTF-8. И не ломать голову.
По поводу моего вопроса так оказалось все просто. Т.е наличие или отсутствия Unicode в тексте.
И ещё в макете есть шрифты, которые просто не поддерживают Русский.
character_set_client utf8
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
При этом есть ещё некая БД, у которой тоже есть кодировки.
В данном случае хотелось бы посоветовать лишь привести кодировку БД к нужному. Например при помощи SET NAMES utf8 при каждом подключении к БД.
Всё правильно.
Это я изначально не правильно сделал мне нужно было открыть свою тему, а теперь получилась тема в теме, виноват(или мой косяк).
Я хотел спросить про HTML-документ. И Apache-сервер не при делах, относительно моего вопроса.
Хотя уже не важно, примерный курс по созданию HTML-документа на Русском, мне понятен.