нашёл постельное белье отличное
-
200824 Nov
Strtoupper или strtolower не работает с русскими символами? При перезде с одного хостинга на другой очень часто такое случается! Не Вы первые с этой проблемой столкнулись!
ВАРИАНТ №1
не самый изящный, зато эффективный, работа через строковые функции
function toupper($co) {
$co = strtr($co, "абвгдеёжзийклмнорпстуфхцчшщъьыэюя",
"АБВГДЕЁЖЗИЙКЛМHОРПСТУФХЦЧШЩЪЬЫЭЮЯ");
return strtoupper($co);
}function tolower($co) {
$co = strtr($co, "АБВГДЕЁЖЗИЙКЛМHОРПСТУФХЦЧШЩЪЬЫЭЮЯ",
"абвгдеёжзийклмнорпстуфхцчшщъьыэюя");
return strtolower($co);
}echo toUpper("блаБла");
echo toLoper("бЛАБлА");
Результат:
БЛАБЛА
блабла
ВАРИАНТ №2
Этот вариант не всегда "проскакивает" , зато если у Вас используется общий файл (config.php, function.php и т.д.) и все "проскочило" - то одна строка в файле и все работает. Задача прописать это в САМОМ НАЧАЛЕ СКРИПТА и оставить все остальное как есть
setlocale(LC_ALL, 'ru_RU.CP1251');
ВАРИАНТ №3
Идеально подойдет для мультибайтных кодировок(UTF-8,UTF-16) или когда вариант №2 не проскакивает а вариант №1 совершенно не нравится :)
echo mb_strtoupper("бОльшоЙ ТексТ");
echo mb_strtolower("маЛенький текст");
Результат:
БОЛЬШОЙ ТЕКСТ
маленький текст -
Комментарии
-
1.
Dave Stewart пишет: Comment » 20 Мар 09 в 14:18
function toupper($co) {
$content = strtr($co, “абвгдеёжзийклмнорпстуфхцчшщъьыэюя”,
“АБВГДЕЁЖЗИЙКЛМHОРПСТУФХЦЧШЩЪЬЫЭЮЯ”);
return strtoupper($co);
}
ретурн то левый возвращаешь -
2.
Zhogov пишет: Comment » 10 Авг 09 в 23:05
Большое спасибо за дельный комментарий!
Статью полностью переработал и расписал! -
3.
Lukin Nike пишет: Comment » 12 Янв в 21:35
Совсем не понятно зачем переписывать функцию strtoupper(); и при возвращении значения return strtoupper($co); ее использовать снова - ведь она же по определению у нас не работает!!!???
-
4.
Novoster пишет: Comment » 30 Янв в 22:35
Хороший вариант автор предложил для UTF-8.
Правда не полный, но все же хороший.
Итак, из двух сайтов собрал по крупицам строки:
echo mb_internal_encoding('UTF-8');
echo ("");
echo mb_strtoupper("бОльшоЙ ТексТ");
echo ("");
echo mb_strtolower("МАленЬкИЙ ТексТ");
При этом
echo mb_internal_encoding('UTF-8');
выдает 1. Думаю, чсто если не установится, то будет 0.
Само собой, что можно прописать
mb_internal_encoding('UTF-8');
без echo.
-
1.
- Спайсмен
- Apple iTablet
- Fish3000 // Rublex
- Нотикофф
- СтоликоФФ
- Каштановый лес
- Александр Горбунов
- Кард-мастер
- Московская Ассоциация Риэлтеров (МАР)
- GSM-Лаборатория R2C
- Первый Строительный Трест
- РисиРыба
- Buzz
- Henry Bonnare
- DJ Пилот и DJ Слава Шелест
- Проматомкомплектация
- People3000
- FёrstFlowers
- DJ-Shop Россия
- Квадрум. Недвижимость России
- strtoupper не работает
- Автоповорот фотографии
- Вернуть правильное окончание
- Вставить лого в картинку
- Геокодинг при помощи Google Maps и PHP
- Как быстро получить MySQL дамп (dump) или закачать дамп базы при помощи SSH
- Не работает javascript onchange
- Повернуть изображение
- Проверить email
- Работы с Imagemagick + Magickwand PHP
- Сгенерировать строку
- Сделать GZIP-сжатие страницы
- Спрятать email
- Уменьшить фото PHP

Оставить комментарий