|
|
|
новичок
      
участник
Last Login: 18.07.2006 18:45
Сообщ.: 3,
Visits: 14
|
|
| Люди помоги ПЛИИИЗЗЗ .... Такой глюк: Передаю закодированный текст в escape формате, декодирую в текстовый формат Unicode, когда измеряю длинну строки функцией strlen() выводит длинну непонятного размера Вместо числа 3 выводит 9 вместо 4 13 и т.д. поразному может и для 4 вывести 18 (Зависит от символов) Пример: измеряемая строка текста "1™M" (3 знака), а выводит длинну 9 знаков ???? помогите плиззз Как осуществить корректное измерение !!! Помогите !!!, лучше конечно пример с кодом ;-)))
|
|
|
|
|
новичок
      
участник
Last Login: 03.11.2006 0:27
Сообщ.: 3,
Visits: 9
|
|
| Я не знаю, что ты паришься, вот я у себя так сделал, всё правильно выводит 3 <? echo strlen("1™M"); ?>
|
|
|
|
|
новичок
      
участник
Last Login: 18.07.2006 18:45
Сообщ.: 3,
Visits: 14
|
|
| Да я также могу !!!!! Дело не в этом.... А вот в чем !!!! Ты не понял меня... Из формы передается зашифрованный текст командой escape() на JavaScript передается в файл PHP посредством POST-GET переменной $а присваивается значение a$=HTML_GET_.... ['msg_txt'] ПОЛУЧАЕТСЯ ДОПУСТИМ, что $a="1%u2221M" пропускаю через функцию на PHP типа (unescape на JavaScript) $b=utf8unescp($a) и присваиваю значение "1™M" переменной $b Потом измеряю длинну переменной $b и присваиваю ее $c $c=strlen($b) И в РЕЗУЛЬТАТЕ получаю вместо длинны 3 символа - длинну в 9 символов !!!! В чем глук понять не могу :(((
|
|
|
|
|
новичок
      
участник
Last Login: 03.11.2006 0:27
Сообщ.: 3,
Visits: 9
|
|
| Ты знаешь, не знаю как у тебя там java, но я попробовал как у тебя примерно, у меня тоже 9 показало, а теперь сделай так, echo $b; echo $с; и посмотри что выводиться.... и ищи траблу в скрипте... ....ты в следующий раз пиши полностью вопрос, а так конечно не понятно что ты имеешь ввыду, типа догадайся сам что я думаю....
|
|
|
|
|
Supreme Being
      
участник
Last Login: 06.06.2007 1:59
Сообщ.: 947,
Visits: 9 976
|
|
Строго говоря, strlen() и не должна возвращать длину, равную 3, для слова в формате UTF. Связано это с тем, что UTF отводит для одного символа не байт, как в cp1251, а больше. Так что ничего странного. Обрати внимание на функцию mb_strlen().
|
|
|
|