Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Проблемы с кодировкой / 16 сообщений из 16, страница 1 из 1
15.10.2003, 10:33
    #32293697
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
Люди, помогите решить такую проблему
есть старая база (FoxPro) с кодовой страницей 866
Моя база на 1251, как мне перегнать из старой базы в новую с нормальной кодировкой русских символов, пишу на VC++
Best regards
-=]HUNTER[=-
...
Рейтинг: 0 / 0
15.10.2003, 11:05
    #32293745
Северный_Бобер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
мне кажется VC здесь ни причем.
есть готовые конвертеры dbf для перегонки из одной кодовой страницы в другую.
напр. на http://soft.mail.ru/subcat_list.php?cat=48
...
Рейтинг: 0 / 0
15.10.2003, 11:06
    #32293748
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
Мне в программе это надо делать
Best regards
-=]HUNTER[=-
...
Рейтинг: 0 / 0
15.10.2003, 11:08
    #32293754
Северный_Бобер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
извини начинающего с++_ламера , ухожу в кусты...
...
Рейтинг: 0 / 0
15.10.2003, 11:10
    #32293756
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
Да ладно тебе критика должна быть в мену, я ведь тоже не гуру

--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
15.10.2003, 11:18
    #32293768
Северный_Бобер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
2 Хантер
а ты не подумал что велосипед изобретаешь?
...
Рейтинг: 0 / 0
15.10.2003, 12:12
    #32293871
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
это не велосипед а импорт данных полученных от сторонних организаций, типа прайсов, они могут быть в ехеле или фоксовые, ехелевские файлы я сделал, а вот фоксовые - есть проблемы с кодировкой

--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
15.10.2003, 12:26
    #32293900
Северный_Бобер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
так ну и что, пришли прайсы взял готовый конвертер. Чик. И все смеются,все рады!
Или я чего то незнаю наверное...Однако чо я пизжу? Жди скоро быки откликнуться.
...
Рейтинг: 0 / 0
15.10.2003, 12:29
    #32293905
123456789098
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
тогда набирайся терпения и вперед ...
Код: plaintext
1.
2.
>Q16: Как сделать перекодировку CP866 <-> CP1251?

A: RTFM CharToOem, CharToOemBuff, OemToChar, OemToCharBuff.


или как вариант я как то пару недельназад кидал в форум саморисные функции перекодировки только не помню в этот форум или вот в этот www.progz.ru
...
Рейтинг: 0 / 0
15.10.2003, 14:02
    #32294086
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
Знаешь, пробовал я тут,
RTFM CharToOem, CharToOemBuff, OemToChar, OemToCharBuff
получает правильное, но как то половина на половину.
т.е. часть правильная а часть абракодабра, вот я грешным делом и подумал: "может я чего не додумал"
можеш на мыло пару примеров кинуть?
Буду очень признателен
--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
16.10.2003, 17:24
    #32295729
123456789098
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
дело в том что с VC я не дружу (в смысле я его никогда даже не запускал), а то что из примеров это могу только кинуть свою функцию перекодировки ... а ее я написал потому что с апишными у меня тоже как то не очень :(

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
const char DOS2Win[ 256 ]={  1 ,  1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ,  8 ,  9 ,  10 ,  11 ,  12 ,  13 ,  14 ,  15 , 
                           16 ,  17 ,  18 ,  19 ,  20 ,  21 ,  22 ,  23 ,  24 ,  25 ,  26 ,  27 ,  28 ,  29 ,  30 ,  31 ,
                           32 ,  33 ,  34 ,  35 ,  36 ,  37 ,  38 ,  39 ,  40 ,  41 ,  42 ,  43 ,  44 ,  45 ,  46 ,  47 ,
                           48 ,  49 ,  50 ,  51 ,  52 ,  53 ,  54 ,  55 ,  56 ,  57 ,  58 ,  59 ,  60 ,  61 ,  62 ,  63 ,
                           64 ,  65 ,  66 ,  67 ,  68 ,  69 ,  70 ,  71 ,  72 ,  73 ,  74 ,  75 ,  76 ,  77 ,  78 ,  79 ,
                           80 ,  81 ,  82 ,  83 ,  84 ,  85 ,  86 ,  87 ,  88 ,  89 ,  90 ,  91 ,  92 ,  93 ,  94 ,  95 ,
                           96 ,  97 ,  98 ,  99 , 100 , 101 , 102 , 103 , 104 , 105 , 106 , 107 , 108 , 109 , 110 , 111 ,
                           112 , 113 , 114 , 115 , 116 , 117 , 118 , 119 , 120 , 121 , 122 , 123 , 124 , 125 , 126 , 127 ,
                           192 , 192 , 194 , 195 , 196 , 197 , 198 , 199 , 200 , 201 , 202 , 203 , 204 , 205 , 205 , 207 ,
                           208 , 209 , 210 , 211 , 212 , 213 , 214 , 215 , 216 , 217 , 218 , 219 , 220 , 221 , 222 , 223 ,
                           224 , 225 , 226 , 227 , 228 , 229 , 230 , 231 , 232 , 233 , 234 , 235 , 236 , 237 , 238 , 239 ,
                           45 ,  45 ,  45 , 166 ,  43 , 166 , 166 , 172 , 172 , 166 , 166 , 172 ,  45 ,  45 ,  45 , 172 ,
                           76 ,  43 ,  84 ,  43 ,  45 ,  43 , 166 , 166 ,  76 , 227 , 166 ,  84 , 166 ,  61 ,  43 , 166 ,
                           166 ,  84 ,  84 ,  76 ,  76 ,  45 , 227 ,  43 ,  43 ,  45 ,  45 ,  45 ,  45 , 166 , 166 ,  45 ,
                           240 , 241 , 242 , 243 , 244 , 245 , 246 , 247 , 248 , 249 , 250 , 251 , 252 , 253 , 254 , 255 ,
                           168 , 184 , 170 , 186 , 175 , 191 , 161 , 162 , 176 , 149 , 183 , 118 , 185 , 164 , 166 , 160  };
// --------------------------------------------------------------------------- 
 
const char Win2Dos[ 256 ]={  1 ,  1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ,  8 ,  9 ,  10 ,  11 ,  12 ,  13 ,  14 ,  15 , 
                           16 ,  17 ,  18 ,  19 ,  20 ,  21 ,  22 ,  23 ,  24 ,  25 ,  26 ,  27 ,  28 ,  29 ,  30 ,  31 ,
                           32 ,  33 ,  34 ,  35 ,  36 ,  37 ,  38 ,  39 ,  40 ,  41 ,  42 ,  43 ,  44 ,  45 ,  46 ,  47 ,
                           48 ,  49 ,  50 ,  51 ,  52 ,  53 ,  54 ,  55 ,  56 ,  57 ,  58 ,  59 ,  60 ,  61 ,  62 ,  63 ,
                           64 ,  65 ,  66 ,  67 ,  68 ,  69 ,  70 ,  71 ,  72 ,  73 ,  74 ,  75 ,  76 ,  77 ,  78 ,  79 ,
                           80 ,  81 ,  82 ,  83 ,  84 ,  85 ,  86 ,  87 ,  88 ,  89 ,  90 ,  91 ,  92 ,  93 ,  94 ,  95 ,
                           96 ,  97 ,  98 ,  99 , 100 , 101 , 102 , 103 , 104 , 105 , 106 , 107 , 108 , 109 , 110 , 111 ,
                           112 , 113 , 114 , 115 , 116 , 117 , 118 , 119 , 120 , 121 , 122 , 123 , 124 , 125 , 126 , 127 ,
                           95 ,  95 ,  39 ,  95 ,  34 ,  58 ,  97 , 216 ,  95 ,  37 ,  95 ,  60 ,  95 ,  95 ,  95 ,  95 ,
                           95 ,  39 ,  39 ,  34 ,  34 ,  7 ,  45 ,  45 ,  95 , 140 ,  95 ,  62 ,  95 ,  95 ,  95 ,  95 ,
                           255 , 246 , 247 ,  95 , 253 ,  95 , 179 ,  21 , 240 ,  99 , 242 ,  60 , 191 ,  45 ,  82 , 244 ,
                           248 ,  43 ,  95 ,  95 ,  95 , 231 ,  20 , 250 , 241 , 252 , 243 ,  62 ,  95 ,  95 ,  95 , 245 ,
                           128 , 129 , 130 , 131 , 132 , 133 , 134 , 135 , 136 , 137 , 138 , 139 , 140 , 141 , 142 , 143 ,
                           144 , 145 , 146 , 148 , 148 , 149 , 150 , 151 , 152 , 153 , 154 , 155 , 156 , 157 , 158 , 159 ,
                           160 , 161 , 162 , 163 , 164 , 165 , 166 , 167 , 168 , 169 , 170 , 171 , 172 , 173 , 174 , 175 ,
                           224 , 225 , 226 , 227 , 228 , 229 , 230 , 231 , 232 , 233 , 234 , 235 , 236 , 237 , 237 , 239  }; 
// --------------------------------------------------------------------------- 
 
// ---------------------------------------------------------------------------
 

char * DOS2WinString(char *in_str){
  int in_str_len=strlen(in_str);
  char *out_str=(char*)malloc(in_str_len+ 1 );;
  stpcpy(out_str,in_str);
  int out_str_len=strlen(out_str);
  for(unsigned int i= 0 ;i<=out_str_len- 1 ;i++){
     unsigned char n=out_str;
     out_str[i]=DOS2Win[n];
  };
  out_str_len=strlen(out_str);
  return out_str;
};
// [i]---------------------------------------------------------------------------
 
char * Win2DOSString(char *in_str){
  int in_str_len=strlen(in_str);
  char *out_str=(char*)malloc(in_str_len+ 1 );;
  stpcpy(out_str,in_str);
  int out_str_len=strlen(out_str);
  for(unsigned int i= 0 ;i<=out_str_len- 1 ;i++){
     unsigned char n=out_str[i];
     out_str[i]=Win2Dos[n];
  };
  out_str_len=strlen(out_str);
  return out_str;
};
//---------------------------------------------------------------------------


вот то чем я конвертил (делал для друга ему тоже надо было для дбф'а)
...
Рейтинг: 0 / 0
16.10.2003, 18:38
    #32295830
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
А как мне ее в DOS2WinString засунуть
char ch;
ch = str.GetAt(i);//В цыкле все энто дело
DOS2WinString((char*)ch) - вот с таким написанием вылетает
--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
16.10.2003, 18:46
    #32295835
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
То уже не надо всадил я ее туда,
но вот сама проблема заключается в том, что не понимаются маленькие буквы
заглавные определяются нормально

--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
16.10.2003, 19:04
    #32295849
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
Специально ввел наш алфавит в одну из строк и вот что я получил:
АБВГДЕЇЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯбвгежзїийклмноп--фхцчшщъыьэюявёЄє

Почему-то эта строка немного напоминает Украинский алвафит.
P.S. Украинцам просьба не обижаться, я не хотел задеть их интересы, извените
--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
17.10.2003, 10:13
    #32296208
123456789098
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
ну так процедура в Донейке писалась ... ;)

...сложно конечно сказать почему так ... я пробовал вроди все нормально было. я посмотрю где чего не так, но если проблема есть то она только в массивах перекодировки. в течении дня по свободе все проверю и о результатах напишу
...
Рейтинг: 0 / 0
17.10.2003, 17:15
    #32297049
123456789098
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кодировкой
пересмотрел я функции ... все правельно делает. была одна ошибочка большую "Б" конвертило в "А" ... вот исправленный кусок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
const char DOS2Win[ 256 ]={  1 ,  1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ,  8 ,  9 ,  10 ,  11 ,  12 ,  13 ,  14 ,  15 ,
                           16 ,  17 ,  18 ,  19 ,  20 ,  21 ,  22 ,  23 ,  24 ,  25 ,  26 ,  27 ,  28 ,  29 ,  30 ,  31 ,
                           32 ,  33 ,  34 ,  35 ,  36 ,  37 ,  38 ,  39 ,  40 ,  41 ,  42 ,  43 ,  44 ,  45 ,  46 ,  47 ,
                           48 ,  49 ,  50 ,  51 ,  52 ,  53 ,  54 ,  55 ,  56 ,  57 ,  58 ,  59 ,  60 ,  61 ,  62 ,  63 ,
                           64 ,  65 ,  66 ,  67 ,  68 ,  69 ,  70 ,  71 ,  72 ,  73 ,  74 ,  75 ,  76 ,  77 ,  78 ,  79 ,
                           80 ,  81 ,  82 ,  83 ,  84 ,  85 ,  86 ,  87 ,  88 ,  89 ,  90 ,  91 ,  92 ,  93 ,  94 ,  95 ,
                           96 ,  97 ,  98 ,  99 , 100 , 101 , 102 , 103 , 104 , 105 , 106 , 107 , 108 , 109 , 110 , 111 ,
                           112 , 113 , 114 , 115 , 116 , 117 , 118 , 119 , 120 , 121 , 122 , 123 , 124 , 125 , 126 , 127 ,
                           192 , 193 , 194 , 195 , 196 , 197 , 198 , 199 , 200 , 201 , 202 , 203 , 204 , 205 , 205 , 207 ,
                           208 , 209 , 210 , 211 , 212 , 213 , 214 , 215 , 216 , 217 , 218 , 219 , 220 , 221 , 222 , 223 ,
                           224 , 225 , 226 , 227 , 228 , 229 , 230 , 231 , 232 , 233 , 234 , 235 , 236 , 237 , 238 , 239 ,
                           45 ,  45 ,  45 , 166 ,  43 , 166 , 166 , 172 , 172 , 166 , 166 , 172 ,  45 ,  45 ,  45 , 172 ,
                           76 ,  43 ,  84 ,  43 ,  45 ,  43 , 166 , 166 ,  76 , 227 , 166 ,  84 , 166 ,  61 ,  43 , 166 ,
                           166 ,  84 ,  84 ,  76 ,  76 ,  45 , 227 ,  43 ,  43 ,  45 ,  45 ,  45 ,  45 , 166 , 166 ,  45 ,
                           240 , 241 , 242 , 243 , 244 , 245 , 246 , 247 , 248 , 249 , 250 , 251 , 252 , 253 , 254 , 255 ,
                           168 , 184 , 170 , 186 , 175 , 191 , 161 , 162 , 176 , 149 , 183 , 118 , 185 , 164 , 166 , 160  };


а вообще кинь вот сюда [email=]123456789098@mail.ru небольшой кусок таблицы я ее сам пощупаю и тогда может будут более конкретные рекомендации
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Проблемы с кодировкой / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]