Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Перевод букв в верхний регистр
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
Xrobak
Участник+
Средний рейтинг: 4.53 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2004
Место проживания: Житомир
Публикаций: 632
Статус: Xrobak в оф-лайне
Angry Перевод букв в верхний регистр [сообщение #76549]

Не переводятся некоторые украинские буквы в верхний регистр, а именно: і, ї, є.
Делаю так:


PHP:


function upto($str) 
 {
  
setlocale (LC_ALL, "ru_RU.CP1251");
  return 
preg_replace("/([a-zxE0-xFF])/e","chr(ord('\1')-32)",($str));
 }
echo 
upto("~ телефоний довiдник ~");


Пример: Контактна інформація - фразы "Контактна інформація" и "Телефонний довідник".

Если использовать стандартную функцию strtoupper(), то английские буквы в таком случае переводятся в верхний регистр, а русские и украинские буквы вообще не переводятся в верхний регистр.

С чем может быть связана проблема? Может с версией php (4.3.11) или mysql (4.0.24) ? Хотя нет, не в пхп дело, несколько друзей напряг, у них разные версии пхп установлены, на линуксовых машинах не работает, а вот на виндовых - работает.

Есть предположение, что можно каким-то образом модифицировать написанную выше функцию upto($str). Я выяснил, что украинские буквы находятся в диапазоне 240 - 249 (F0 - F9). Остается теперь выяснить, как это все склеить в кучу, чтобы оно заработало.

Нид хелп!

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 23-05-2005 17:36
Нажмите сюда для просмотра профайла Xrobak Отправить Персональное сообщение Xrobak Посетить домашнию страничку Xrobak! Найти сообщения от Xrobak Добавить Xrobak в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Enkryptor
Участник
Средний рейтинг: 3 | Оценок: 2

Зарегистрирован: Apr 2005
Место проживания:
Публикаций: 35
Статус: Enkryptor в оф-лайне
[сообщение #76554]

quote:

Если использовать стандартную функцию strtoupper(), то английские буквы в таком случае переводятся в верхний регистр, а русские и украинские буквы вообще не переводятся в верхний регистр.

С чем может быть связана проблема?


С тем, что только английские буквы имеют одни и те же коды в разных кодировках. Функция преобразования русских букв в верхний регистр будет различаться для кодировок KOI8-R, KOI8-U, Windows-1251 или UTF-8. Тебе какая нужна?

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 24-05-2005 11:26
Нажмите сюда для просмотра профайла Enkryptor Отправить Персональное сообщение Enkryptor Посетить домашнию страничку Enkryptor! Найти сообщения от Enkryptor Добавить Enkryptor в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Xrobak
Участник+
Средний рейтинг: 4.53 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2004
Место проживания: Житомир
Публикаций: 632
Статус: Xrobak в оф-лайне
[сообщение #76555]

Сайт у меня на windows-1251, буду благадоране за оказанную помощь

Сообщение было отредактировано Xrobak 24-05-2005 в 11:46

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 24-05-2005 11:44
Нажмите сюда для просмотра профайла Xrobak Отправить Персональное сообщение Xrobak Посетить домашнию страничку Xrobak! Найти сообщения от Xrobak Добавить Xrobak в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Enkryptor
Участник
Средний рейтинг: 3 | Оценок: 2

Зарегистрирован: Apr 2005
Место проживания:
Публикаций: 35
Статус: Enkryptor в оф-лайне
[сообщение #76559]

Подожди, если у тебя только буквы і, ї, є не заменяются на заглавные, так и добавь в функцию три строчки с str_replace, которые будут их заменять... не?

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 24-05-2005 13:35
Нажмите сюда для просмотра профайла Enkryptor Отправить Персональное сообщение Enkryptor Посетить домашнию страничку Enkryptor! Найти сообщения от Enkryptor Добавить Enkryptor в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
sVs
Участник+
Средний рейтинг: 4.67 | Оценок: 3
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Apr 2002
Место проживания: Россия, Пятигорск
Публикаций: 69
Статус: sVs в оф-лайне
[сообщение #76568]

или, чтобы не париться, пойти более другим путем, указав полную таблицу транслитерации:

PHP:


function upto($str)
{
  return 
strtr($str,'абвгде...и т.д...','АБВГДЕ...и т.д...');
}

__________________
Всякое решение порождает новые проблемы...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 24-05-2005 17:26
Нажмите сюда для просмотра профайла sVs Отправить Персональное сообщение sVs Посетить домашнию страничку sVs! Найти сообщения от sVs Добавить sVs в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Xrobak
Участник+
Средний рейтинг: 4.53 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2004
Место проживания: Житомир
Публикаций: 632
Статус: Xrobak в оф-лайне
[сообщение #76604]

sVs
спасибо, работает, все єлементарно просто, как я раньше не додумался

ЗЫ: а по сути... от чего такая проблема появляется - на винде работает, а на линухе нет? А то украинский язык уже не первый год живет, а до сих пор косяки есть

Xrobak добавил 26-05-2005 в 15:01:57:
Enkryptor
по идее вариант, предложенный sVs лучше применить, хотя твой тоже будет работать, только вот быстрее работать будет именно вариант от sVs, если я не ошибаюсь конечно...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-05-2005 14:59
Нажмите сюда для просмотра профайла Xrobak Отправить Персональное сообщение Xrobak Посетить домашнию страничку Xrobak! Найти сообщения от Xrobak Добавить Xrobak в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Lesnix
Участник

Зарегистрирован: Nov 2004
Место проживания:
Публикаций: 21
Статус: Lesnix в оф-лайне
[сообщение #76635]

quote:
ЗЫ: а по сути... от чего такая проблема появляется - на винде работает, а на линухе нет? А то украинский язык уже не первый год живет, а до сих пор косяки есть
В своё время я такую проблему(только с рус. буквами) был вынужден решать через regexp...
А вообще говоря, предлагалось использоать strtoupper(), настроив локаль. К примеру, посредством setlocale()

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 29-05-2005 19:07
Нажмите сюда для просмотра профайла Lesnix Отправить Персональное сообщение Lesnix Посетить домашнию страничку Lesnix! Найти сообщения от Lesnix Добавить Lesnix в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Xrobak
Участник+
Средний рейтинг: 4.53 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2004
Место проживания: Житомир
Публикаций: 632
Статус: Xrobak в оф-лайне
[сообщение #76650]

Lesnix
про setlocale() я знаю, но реально на линухе она не спасает, проверено на разных линуксовых машинах + я в самом первом посту писал пример функции, в которой настраивалась локаль, вот.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 30-05-2005 12:53
Нажмите сюда для просмотра профайла Xrobak Отправить Персональное сообщение Xrobak Посетить домашнию страничку Xrobak! Найти сообщения от Xrobak Добавить Xrobak в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
blacki
lol +
Средний рейтинг: 4.13 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2002
Место проживания: Latvia/D-pils
Публикаций: 451
Статус: blacki в оф-лайне
[сообщение #76656]

Xrobak попробуй фразу конвертнуть iconv'oм (http://lv2.php.net/iconv). А затем уже менять регистр.

__________________
Национальность - русский, вероисповедание - программист.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 30-05-2005 15:49
Нажмите сюда для просмотра профайла blacki Отправить Персональное сообщение blacki Посетить домашнию страничку blacki! Найти сообщения от blacki Добавить blacki в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Xrobak
Участник+
Средний рейтинг: 4.53 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2004
Место проживания: Житомир
Публикаций: 632
Статус: Xrobak в оф-лайне
[сообщение #76663]

blacki
хм... и в какую же кодировку конвертить? УТФ-8 чтоли? Тогда получается мне весь контент сайта в УТФ-8 переганять прийдется?

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 30-05-2005 18:58
Нажмите сюда для просмотра профайла Xrobak Отправить Персональное сообщение Xrobak Посетить домашнию страничку Xrobak! Найти сообщения от Xrobak Добавить Xrobak в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
blacki
lol +
Средний рейтинг: 4.13 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2002
Место проживания: Latvia/D-pils
Публикаций: 451
Статус: blacki в оф-лайне
[сообщение #76676]

Xrobak мне так и приходится делать... (правда это связанно в большей степени с поддержкой языков)

__________________
Национальность - русский, вероисповедание - программист.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 31-05-2005 09:02
Нажмите сюда для просмотра профайла blacki Отправить Персональное сообщение blacki Посетить домашнию страничку blacki! Найти сообщения от blacki Добавить blacki в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Xrobak
Участник+
Средний рейтинг: 4.53 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2004
Место проживания: Житомир
Публикаций: 632
Статус: Xrobak в оф-лайне
[сообщение #76688]

эх... блина... будем думать тогда

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 31-05-2005 11:12
Нажмите сюда для просмотра профайла Xrobak Отправить Персональное сообщение Xrobak Посетить домашнию страничку Xrobak! Найти сообщения от Xrobak Добавить Xrobak в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 22:52.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.13252902 seconds (95.86% PHP - 4.14% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.