Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Головоломка с Кодировкой в PHP + MySQL (Саня) 09/07/2006 - 23:01:59
      Re: Головоломка с Кодировкой в PHP + MySQL (Dinky) 10/07/2006 - 16:57:37
      Re: Головоломка с Кодировкой в PHP + MySQL (Саня) 11/07/2006 - 03:24:59
      Re: Re: Головоломка с Кодировкой в PHP + MySQL (Саня) 11/07/2006 - 03:27:34
      Re: Re: Головоломка с Кодировкой в PHP + MySQL (Dinky) 11/07/2006 - 20:18:31
      Re: Re: Головоломка с Кодировкой в PHP + MySQL (ЯЯЯЯ) 12/07/2006 - 01:34:41
      Re: SET NAMES cp1251 - не работает! (Саня) 12/07/2006 - 20:40:04
      Re: SET NAMES cp1251 - не работает! (Dinky) 12/07/2006 - 22:30:26
      Re: SET NAMES cp1251 - не работает! (Саня) 16/07/2006 - 09:21:25
      Re: SET NAMES cp1251 - не работает! (Dinky) 17/07/2006 - 20:17:04
      Re: SET NAMES cp1251 - не работает! (serg) 19/07/2006 - 13:30:11

> Original message text:
> From: Саня - 09/07/2006 - 23:01:59
> Subject:Головоломка с Кодировкой в PHP + MySQL
> -----------------
> На моём сайте проблемма странная есть с кодировкой. Поле MySQL кодированно в latin1_general_ci. Пользуюсь системой OsCommerce. Когда вводятся (в базу) слова с всеми заглавны буквами то что-то странное творится с кодировкой.
>
> Вот пример:
>
> setlocale(LC_ALL, 'ru_RU');
> while($row = mysql_fetch_array($result))
> {
> echo $row['products_name']."<br>";
> echo strtolower($row['products_name'])."<br>";
> echo ucwords($row['products_name'])."<br>";
> }
>
> Выходит вот что (только пару примеров):
>
> Взорвите банк
> взорвите банк
> Взорвите Банк
> АТЛЕТИЧЕСКАЯ ГИМНАСТИКА 1
> аТлеТиЧеСкаЯ гимнаСТика 1
> АТЛЕТИЧЕСКАЯ ГИМНАСТИКА 1
>
> В первом примере всё было нормально а во втором творится неизвесно что. Буду благодарен за любую помощ.
>


From: Саня - 12/07/2006 - 20:40:04
Subject:SET NAMES cp1251 - не работает!
-----------------
Ни чего не истпавилось. И кстати, помоему я это уже пробовал делать ещё раньше. Вообще я разобрался что это функции PHP (strtolower и ucwords) так делают. Воп пример:

Code:

setlocale(LC_ALL, 'ru_RU');
$row = "Взорвите банк";
echo $row."<br>";
echo strtolower($row)."<br>";
echo ucwords($row)."<br>";
$row = "АТЛЕТИЧЕСКАЯ ГИМНАСТИКА 1";
echo $row."<br>";
echo strtolower($row)."<br>";
echo ucwords($row)."<br>";

Output:

Взорвите банк
взорвите банк
Взорвите Банк
АТЛЕТИЧЕСКАЯ ГИМНАСТИКА 1
аТлеТиЧеСкаЯ гимнаСТика 1
АТЛЕТИЧЕСКАЯ ГИМНАСТИКА 1

Вопрос: Как мне это исправить (я хочу чтоб ucwords правильно работал)? А так же, мой поиск в MySQL имеет похожие проблеммы. Если товар назван со всеми заглавными буквами то находится только поисковым словом с большинство заглавными буквами (которые можно видеть здесь "аТлеТиЧеСкаЯ гимнаСТика 1"). Очень странно! Если я ввожу "аТлеТиЧеСкаЯ гимнаСТика 1" или "АтлетиЧеСкаЯ гимнаСТика 1" у в посик то товар находится а если "АтлетичеСкаЯ гимнаСТика 1" то уже не находится!

И поймите меня правельно, если я кодировку поля меняю на cp1251 то "АТЛЕТИЧЕСКАЯ ГИМНАСТИКА 1" привращяется в "???????????? ?????????? 1" и это для меня не пойдёт. В PHP есть функции для конвертирования кодировки но я пробовал все комбинации и ни что не получилось.




[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
29183



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |