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




MySQL.RU - Webboard



Вернуться
win32, cp1251, upper() (vitek) 04/01/2002 - 07:07:26
      Re: win32, cp1251, upper() (walrus) 04/01/2002 - 13:17:27
      Re: win32, cp1251, upper() (vitek) 04/01/2002 - 14:39:16
      Re: Так это - англичане есть? (vitek) 05/01/2002 - 15:31:19
      Re: Est konechno (Антон) 06/01/2002 - 02:40:48
      Re: Est konechno (vitek) 06/01/2002 - 05:15:32
      Re: win32, cp1251, upper() (Andrew) 07/01/2002 - 04:43:36
      Re: win32, cp1251, upper() (vitek) 07/01/2002 - 13:42:04
      Re: Est konechno (vitek) 17/01/2002 - 11:54:21

> Original message text:
> From: vitek - 04/01/2002 - 07:07:26
> Subject:win32, cp1251, upper()
> -----------------
> В коде MySQL'я есть строки:
>
> #ifdef __WIN__
> #include <ctype.h>
> #endif
>
> и
>
> #ifndef __WIN__
> #define _toupper(c) (char) my_to_upper[(uchar) (c)]
> #define _tolower(c) (char) my_to_lower[(uchar) (c)]
> #define toupper(c) (char) my_to_upper[(uchar) (c)]
> #define tolower(c) (char) my_to_lower[(uchar) (c)]
> ...
> #endif /* __WIN__ */
>
> Т.е. грубо говоря за функции UPPER, LOWER и им подобные
> в MySQL-Win32 отвечает не MySQL, а библиотеки VC++
>
> Пример программы на VC++:
>
> #include <stdio.h>
> #include <ctype.h>
> #include <locale.h>
>
> int main(void)
> {
> char str[] = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
> int index = 0;
> char *ptr;
>
> ptr = setlocale( LC_ALL, "");
> printf( "%s\n", ptr);
>
> printf( "%s\n", str);
>
> ptr = str;
> do {
> *ptr = toupper( *ptr);
> } while( *ptr++);
>
> printf( "%s\n", str);
>
> return 0;
> }
>
> Результат выполнения:
>
> [Win32-Debug]
> Russian_Russia.1251
> абвгдеёжзийклмнопрстуфхцчшщъыьэюя
> АБВГДЕёжЗийклмнопрстуФхцЧшЩъыьэюя
>
> [Win32-Release]
> Russian_Russia.1251
> абвгдеёжзийклмнопрстуфхцчшщъыьэюя
> АБВГДЕёЖЗиЙКЛМНОпРСТУФХцЧшщъыьэюя
>
>
> Думаю, вывод понятен.
>
>


From: vitek - 04/01/2002 - 14:39:16
Subject:win32, cp1251, upper()
-----------------
Проблему решил.
Но надо компилять. А значит нужен VC++.

mysqld-max.exe - не смог откомпилировать.
Хотя в принципе особо и не возился с ним.
Под NT'ю даже и не пробовал.

А вот mysqld-opt.exe - без проблем.
Правда размер немного вырос :-(
Но зато теперь любая кодировка нормально подгружается.
И всё как надо работает.

А насчёт написать разработчикам:
во-первых - кому: в Microsoft или в MySQL или обоим
во-вторых (что гораздо более важно) - английского
не знаю совершенно :-(

Если б кто взялся за это...



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

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

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



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