[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: строковые функции в utf-8
Guest
я почему-то думал, что строковые функции обычные strlen ит.д неправильно будут работать с кодировкой utf-8. перекодировал страницу в utf-8, но strlen и остальные все функции возвращают все правильно и с кириллицей.

не пойму почему так?
слово "привет" возвращает 6, а не 12.



Спустя 7 минут, 3 секунды (17.09.2010 - 20:26) Guest написал(а):
12 возвращает, как только добавил mb_string("привет", "utf-8");

тогда вопрос в другом, какие именно строковые функции не работают в кодировке utf-8?

Спустя 4 минуты, 54 секунды (17.09.2010 - 20:31) ZSH написал(а):
попробуй strtolower()

Спустя 7 минут, 9 секунд (17.09.2010 - 20:38) Guest написал(а):
ZSH

блин, вот что возвращает echo mb_strtolower ($text, "utf-8");
РїСЂРёРІРµС

и вот что echo strtolower ($text);
џр р�р’р•рў

Спустя 5 минут, 33 секунды (17.09.2010 - 20:43) ZSH написал(а):
aа это : mb_convert_case($text, MB_CASE_LOWER, "UTF-8")

Спустя 3 минуты, 40 секунд (17.09.2010 - 20:47) Guest написал(а):
ZSH
нормально! и тот вариант тоже получился после некоторых поправок!

значит по-любому strtoupper тоже надо в mb,
substr
что еще?

Спустя 14 минут, 33 секунды (17.09.2010 - 21:01) Guest написал(а):
блин все почти, я вот такого типа функции делаю

function strpos_utf($text, $n, $i=1)
{
if (!function_exists('mb_strpos'))
return strpos(iconv("utf-8","windows-1251", $text), $n, $i);
else
return mb_strpos($text, $n, $i, "utf-8");
}

это нормально, или есть лучше варианты?

Спустя 2 минуты, 38 секунд (17.09.2010 - 21:04) twin написал(а):
А зачем?

Спустя 1 минута, 59 секунд (17.09.2010 - 21:06) ZSH написал(а):
если подключена библиотека mb_string то всегда будет:

return strpos(iconv("utf-8","windows-1251", $text), $n, $i);

Спустя 38 секунд (17.09.2010 - 21:07) ZSH написал(а):
Цитата
А зачем?


таки да

Спустя 1 минута, 3 секунды (17.09.2010 - 21:08) twin написал(а):
Это я понял. Я не понял зачем грузить процессор? Ты разве не знаешь, что подключено, что нет?

Спустя 1 минута, 59 секунд (17.09.2010 - 21:10) Guest написал(а):
twin
на всех хостингах есть библиотека mb?

Спустя 2 минуты, 33 секунды (17.09.2010 - 21:12) ZSH написал(а):
так и я про тоже, зачем проверять существование функции?

ЗЫ:
Цитата
на всех хостингах есть библиотека mb?

тем более

ЗЫ: ЗЫ: не навсех, я встречал без MYSQL

Спустя 3 минуты, 16 секунд (17.09.2010 - 21:16) Guest написал(а):
ZSH
а как проверить подключена ли библиотека?

Спустя 39 секунд (17.09.2010 - 21:16) ZSH написал(а):
phpinfo()

Спустя 2 минуты, 18 секунд (17.09.2010 - 21:19) twin написал(а):
Проверить просто:
<?php

phpinfo();


А вообще сам подход неверный. Если проверять все библиотеки и версии и подстраивать скрипт под них автоматически - сервер положишь. smile.gif
Просто при инсталляции можно выдать чего не хватает.

Спустя 2 минуты, 31 секунда (17.09.2010 - 21:21) Guest написал(а):
twin
ну посоветуйте как сделать!
1) я не знаю на какой хостинг я поставлю сайт
2) мне нужно взять у слово кошка первые три буквы с помощью строковой функции, как мне написать?

Спустя 4 минуты (17.09.2010 - 21:25) twin написал(а):
1. Узнать
2. Если нет нужной библиотеки - попросить саппорт поставить.
3. Если не ставят - сменить хостинг.
4. Если не меняется, то тогда сделать свою библиотеку. И подключить её только тогда.

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

Спустя 1 минута, 59 секунд (17.09.2010 - 21:27) Guest написал(а):
twin
ясен подход, спасибо) говорят в php 6 будет полная поддержка utf-8. было бы хорошо)

Спустя 1 минута, 26 секунд (17.09.2010 - 21:28) ZSH написал(а):
ну если на PHP разработка, а хост ASP то ни как

IMXO заранее смотреть надо

ЗЫ: опоздал, но если PHP4 то не стоит даже думать?

Спустя 12 минут, 1 секунда (17.09.2010 - 21:40) Guest написал(а):
блин, люди с utf и preg регулярки коряво работаюттт, их тоже что ли заменять, ппцц
или есть какие-то установки?

Спустя 4 минуты, 9 секунд (17.09.2010 - 21:45) Guest написал(а):
Guest
блин и какие плюсы у utf-8, меня еле еле уговорили сменить кодировку, типа увидишь сколько плюсов. Пока кроме лишней возни и минусов ничего не заметно

Спустя 8 минут, 7 секунд (17.09.2010 - 21:53) ZSH написал(а):
да я тож офанарел от UTF (изучаю помаленьку)

Спустя 1 минута, 10 секунд (17.09.2010 - 21:54) twin написал(а):
Первый раз всегда больно. Потом понравится. smile.gif
Другими кодировками - что руками.

Регулярки норм работают, модификатор u поставь.

Спустя 9 минут, 15 секунд (17.09.2010 - 22:03) ZSH написал(а):
Цитата
Регулярки норм работают, модификатор u поставь.


а в MYSQL REGEXP при поиске без учета регистра?

Спустя 5 минут, 3 секунды (17.09.2010 - 22:08) Guest написал(а):
twin
ZSH
да про модификатор узнал, но я решил, что на данный момент лучше оставлю win1251, с выходом php6 и разберусь с urf)) зачем делать столько лишней работы, если кодировка страниц не принципиальна сейчас!

Спустя 8 минут, 19 секунд (17.09.2010 - 22:17) inpost написал(а):
Guest
Все работают с Аяксом, а ты - без... а он как раз работает с UTF-8.
Месяц назад читал, как Fatcat рассказал способ, вроде как лучше чем Аякс и с Win-1251, но я тогда ничего не понимал, и потерял тему =(((
Минусы есть везде, плюсы тоже. Win поддерживает только Кирилицу и латиницу, в свою очередь UTF может и другие символы.
Все профессионалы рекомендуют переходить с Вин на ЮТФ.

П.С. Я перешел, когда начал делать сайты с технологиями Аякса.
Лучше уж сразу привыкнуть к одной кодировке, чем учиться по одной, потом переучиваться на другую. Развитие идет в сторону UTF, а не Вин.

Спустя 4 минуты, 35 секунд (17.09.2010 - 22:21) ZSH написал(а):
Цитата
Все работают с Аяксом, а ты - без... а он как раз работает с UTF-8.


принятые данные перекодировать.

Цитата
Лучше уж сразу привыкнуть к одной кодировке, чем учиться по одной, потом переучиваться на другую. Развитие идет в сторону UTF, а не Вин.


а таки да wink.gif

Спустя 10 минут, 52 секунды (17.09.2010 - 22:32) Guest написал(а):
inpost
я работаю и с аякс и ксмл, ZSH сказал каак именно!!

я вот сейчас сидел и читал о плюсах и минусах utf и о перспективах.
Все понимаю, НО на данный момент как-то недоработано все, почему смена кодировки должна вызывать столько проблем и вопросов. я подожду php6, не думаю что к тому времени у меня будет необходимость в супер-пупер мультиязычности сайтов, чтоб и китайцы и немцы.
Английского и русского пока что вполне хватает - всему свое время!

Спустя 2 минуты, 33 секунды (17.09.2010 - 22:35) inpost написал(а):
ZSH
Я знаю про перекодирование, но смысл этим каждый раз заниматься? Ведь можно пользоваться встроенными функциями и ЮТФ будет нормально работать, без всякой путаницы в языках.

Спустя 58 секунд (17.09.2010 - 22:35) ZSH написал(а):
Цитата
Английского и русского пока что вполне хватает - всему свое время!


ну да, согласен но :
Цитата
Развитие идет в сторону UTF, а не Вин.


Спустя 1 минута, 20 секунд (17.09.2010 - 22:37) ZSH написал(а):
Цитата
Я знаю про перекодирование, но смысл этим каждый раз заниматься? Ведь можно пользоваться встроенными функциями и ЮТФ будет нормально работать, без всякой путаницы в языках.


я за обеими руками
Быстрый ответ:

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