Новости
Документация
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



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
абвгдеёжзийклмнопрстуфхцчшщъыьэюя
АБВГДЕёЖЗиЙКЛМНОпРСТУФХцЧшщъыьэюя


Думаю, вывод понятен.



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

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

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



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