Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/30: Рейтинг темы: голосов - 30, средняя оценка - 4.67
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034

Неправильно работает функция strrev

07.06.2014, 14:26. Показов 5787. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пробую функцию реверс строки, этот код-
PHP
1
2
3
echo strrev("Hello world!"); // выводит "!dlrow olleH"
echo "Всем привет"; // выводит Всем привет
echo strrev("Всем привет"); // уже выводит ???????????
Вобщем неработают функции с русским текстом! Вся страница отображается хорошо но Как быть когда одно или 2 слова на странице кракозяброй!?
При чем кракозяброй (строки или переменные) становятся в основном после использования их в какой-нибудь функции!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.06.2014, 14:26
Ответы с готовыми решениями:

Неправильно работает рекурсивная функция
Всем привет. Ребят, есть вот такая задача: Есть организация. У неё есть всякие подразделения (ID). У каждого подразделения есть баллы,...

Неправильно работает функция mail
Здравствуйте, пытаюсь отправить письмо с помощью функции mail - ошибок никаких нет, но письма не приходят. Пытался отправить письмо на...

Функция отправки сообщения работает неправильно
Здраствуйте.Решил сделать контактную форму с php обработчиком. Вродебы код правильный, но при прочтении сообщения я вижу только дату и...

4
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
07.06.2014, 14:30
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
Вобщем неработают функции с русским текстом! Вся страница отображается хорошо но Как быть когда одно или 2 слова на странице кракозяброй!?
При чем кракозяброй (строки или переменные) становятся в основном после использования их в какой-нибудь функции!
1. пишите в кодировке Windows cp-1251. Тогда функций strrev() будет работать корректно.
2. либо сделайте отдельную функцию. Например, если пишете в utf8:
PHP
1
2
3
4
5
function utf8_strrev($str){
    preg_match_all('/./us', $str, $ar);
    return implode(array_reverse($ar[0]));
}
echo utf8_strrev("Привет");
Code
1
тевирП
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
07.06.2014, 14:54  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
пишите в кодировке Windows cp-1251.
Нет возможности, сайт (двиг сайта уже написан)
Цитата Сообщение от pav1uxa Посмотреть сообщение
либо сделайте отдельную функцию. Например, если пишете в utf8:
Функция хорошая, рабочая но она слишком сложная, и как я ее могу перетранспортировать на другие функции?
У меня вот еще был нерабочий пример, который вроде должен работать, но он неработал.
PHP
1
2
  $string = strpos("Привет", "в");
  echo $string;
Заработал он лиш вот только после таких сложных манипуляций!
Вобше ничего непонятно! Было strpos, стало mb_strpos!
Я даже в справочнике ненашол такой у них функции mb_strpos!!

На офф сайте неработают половина функций! Да кто их туда натолкал то и зачем, хорошо кто давно в пхп - тот разберется, а если новеньким в пхп сразу заранее дают нерабочие функции или коды- то как в них разобраться то!?

PHP
1
2
3
4
$string = mb_strpos("Привет", "в", 0, 'UTF-8');
if ($string === false) 
echo 'Такой буквы нет!';
echo $string;
И что теперь делать то? вобще ни одна стандартная функция из справочника нормально неработает!
Все нужно как то переделывать и непонятно как переделывать...
Есть ли какой нибудь обший стандартный шаблон (по кодировке) чтоб подставлять к таким функциям которые по нормальному отказываются работать?
0
 Аватар для Forastero
562 / 339 / 87
Регистрация: 15.05.2013
Сообщений: 812
Записей в блоге: 1
07.06.2014, 15:05
Я даже в справочнике ненашол такой у них функции mb_strpos!!
Искали видать плохо, либо без должного энтузиазма.
Вот функция: http://www.php.net/manual/ru/f... strpos.php
вобще ни одна стандартная функция из справочника неработает!
Все функции работают. Все дело в том, с чем им приходится работать. mb - функции предназначены для многобайтовых кодировок, какой и является utf8. В справочнике даже целый раздел с этими функциями существует.

Как уже сказали, если возникает потребность в таких манипуляцих, то следует либо использовать другую кодировку, либо писать свои аналоги функций (благо с пространствами имен можно даже имена оставлять прежними чтобы не путаться), либо использовать уже существующие замены.
1
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
07.06.2014, 15:11
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
На офф сайте неработают половина функций
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
И что теперь делать то? вобще ни одна стандартная функция из справочника нормально неработает!
Да вообще ужас!

Цитата Сообщение от NIKOLAYY Посмотреть сообщение
Есть ли какой нибудь обший стандартный шаблон (по кодировке) чтоб подставлять к таким функциям которые по нормальному отказываются работать?
Если текст английский, то неважно какая кодировка (utf8 или cp1251).
Если русский то, все стандартные функции работают только для cp1251. Для utf8 нужно использовать функции с префиксом mb_* (multibyte), в функциях preg_* использовать флаг "u" (unicode) и все будет хорошо.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.06.2014, 15:11
Помогаю со студенческими работами здесь

Проверить является ли строка палиндромом без использования strrev
Есть у меня такая задача,нужно написать программу, проверяющую, является ли строка палиндромом.не могу решить,перепробовал уже...

Вывести текст задом наперед без использования strrev()
Добрый день. Мучаюсь над таким "ученическим" вопросом: есть задача - вывести текст задом наперед. Чтоб в одно поле текст вводился,...

Неправильно работает функция
You are given natural number n. Calculate 12+22+...+n2. Example Input Output 2 5 Добавлено через 1 минуту #include...

Неправильно работает функция
Проблема заключается в том, что в случае, если пользователь вводит числа от 1 до 9 все работает правильно, а если от 10 и далее, то...

Неправильно работает функция
void FreeTop( Tree *&tree ) { if( tree->d == NULL )delete tree; else FreeTop( tree->d ); } это моя функция освобождения...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru