[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не правильно работает функция strlen()
Страницы: 1, 2
slavon1500
В общем английские буквы считает правильно эта функция, а русские умножает на два почему так? как это можно исправить?
вот код :

$str = "привет";
echo strlen($str); // выводит 12
$a = "hello";
echo strlen($a); // выводит 5

такого же точно не должно быть? может что то с настройками не так?

_____________
http://free-torrents.org/forum/indexer.php
Valick
у вас кодировка utf-8 функция считает байты, а не буквы

_____________
Стимулятор ~yoomoney - 41001303250491
Zzepish
Используй mb_strlen()
slavon1500
Valick
Winston
Zzepish
Ясно спасибо большое ! А то я уже начал гуглить по поводу настроек денвера..

_____________
http://free-torrents.org/forum/indexer.php
slavon1500
Zzepish
А как правильно ее использовать что то я пишу mb_strlen($text) все равно тоже самое выводит..
как правильно писать то подскажите пожалуйста?

_____________
http://free-torrents.org/forum/indexer.php
Zzepish
slavon1500
mb_strlen($text,'UTF-8')
slavon1500
Zzepish
А все ясно rolleyes.gif спасибо большое! smile.gif

_____________
http://free-torrents.org/forum/indexer.php
Zzepish
slavon1500
да незачто))) rolleyes.gif
Игорь_Vasinsky
там целое семейство есть для строковых функций для юникода с префиксом mb_

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
slavon1500
Zzepish
А еще если Вас не затруднит, не могли бы помочь разобраться?
Вот я хочу допустим из переменной вытащить букву русские у меня нормально не получается вытащить потому что что то с кодировкой выдает вот такой вопрос в ромбике � а английские нормально выводит делаю я вот так :

$a = "привет";
echo $a{0}; // должно быть "п" а у меня вопрос в ромбике..

Как можно сделать чтоб нормально отображалось?

_____________
http://free-torrents.org/forum/indexer.php
Winston
Сначала на массив нужно разбить вот так http://phpforum.ru/index.php?showtopic=0&v...dpost&p=1698036
killer8080
Цитата (slavon1500 @ 7.01.2013 - 15:37)
А как правильно ее использовать что то я пишу mb_strlen($text) все равно тоже самое выводит..

чтобы не указывать кодировку каждый раз при вызове mb_ функций, можно один раз в начале её указать явно
mb_internal_encoding("UTF-8");
slavon1500
killer8080
Ясно спасибо

_____________
http://free-torrents.org/forum/indexer.php
slavon1500
Winston
не понял как нужно делать по вашему методу huh.gif
получилось по методу пользователя nugle через функцию mb_strtoupper все получилось без всяких вопросов отлично спасибо за помощь! только пожалуйста если не сложно можете объяснить как по вашему методу работать? (что там столько много писанины..)

_____________
http://free-torrents.org/forum/indexer.php
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.