Помогите пожалуйста с strtoupper

Kot Matroskin
На сайте с 29.08.2007
Offline
185
834

Переехал я хостинг, перестала работать вот эта хрень. Почитал что надо ставить setlocale, везде стоит, однако не помогает. Кто нибудь может подсказать в чём проблема и как её устранить (может на хосте что отсутствует?) Спасибо

<form action="?" method="post">

Слово для проверки &nbsp;&nbsp;<input name="word" type="text" size="40" maxlength="20" /><br /><br />
<input name="" type="submit" value="Проверить" />
</form><br /><br />

<table border="0">
<?php
setlocale(LC_ALL, array('ru_RU.CP1251', 'rus_RUS.1251'));
if (isset($_POST['word']))
{
$word = $_POST['word'];

print('<tr><td>Для слова:</td><td>' . trim($word) . '</td></tr>');
$word = strtoupper($word);
print('<tr><td>Тут должно быть все заглавными буквами:</td><td>' . $word . '</td></tr>');
}
?>
Я пользовался 11 разными хостингами. Есть только один ЛУЧШИЙ: ★ он тут ★ (https://goo.gl/R6v3zH) Пишите в ЛС за скидкой. VPS тоже в наличие ! Рекомендую.
S
На сайте с 05.04.2006
Offline
31
#1

Была подобная проблема, решилась строчкой setlocale(LC_CTYPE, "ru_RU.CP1251");

Kot Matroskin
На сайте с 29.08.2007
Offline
185
#2

Sehnsucht У меня до этого setlocale(LC_ALL, array('ru_RU.CP1251', 'rus_RUS.1251')); стоял... Попробывал ваш вариант, не помогло :(

Kot Matroskin добавил 05.04.2008 в 13:06

Вобщем у меня поиск имеется, если вводить запрос заглавными буквами, всё работает, а если ввести маленькими буквами, поиск не пашет.

S
На сайте с 05.04.2006
Offline
31
#3

А саппорту хостинга писали? Вообще, то что не работает данная php-функция это их проблема и они должны знать её решение, раз так сервер настроили.

function toUpper($content) {

$content = strtr($content, "абвгдеёжзийклмнорпстуфхцчшщъьыэюя",

"АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ");

return strtoupper($content);

}

T
На сайте с 11.08.2005
Offline
181
#4

Попробуйте просто прописать

<tr><td style="text-transform: uppercase;">Тут должно быть все заглавными буквами:</td><td>

Визуально эффект одинаковый.

Kot Matroskin
На сайте с 29.08.2007
Offline
185
#5

Sehnsucht, спасибо, это работает, однако у меня там очень много форм, страниц и сложного кода... вообщем не могли бы вы мне подсказать что конкретно у хостинга надо настроить чтобы работал мой код? Спасибо ещё раз.

kxk
На сайте с 30.01.2005
Offline
990
kxk
#6

Kot Matroskin, Пнуть хостера в саппорт чтобы вам помогли если настройки сервера неверные

Ваш DEVOPS
S
На сайте с 05.04.2006
Offline
31
#7

Kot Matroskin, по настройкам действительно к саппорту нужно.

WebSee
На сайте с 12.11.2007
Offline
66
#8

Сталкивался с подобной проблемой.

Что удивительно, у меня strtoupper преобразовывал строку в нижний регистр, а strtolower - в верхний.

Попробуйте функцию strtolower().

Ну или как написал Sehnsucht (немного модифицирую его ответ)


function toUpper($content) {
$content = strtr($content, "абвгдеёжзийклмнорпстуфхцчшщъьыэюя",
"АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ");
return $content;
}
Встань и иди!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий