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

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

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

A: RTFM CharToOem, CharToOemBuff, OemToChar, OemToCharBuff.


или как вариант я как то пару недельназад кидал в форум саморисные функции перекодировки только не помню в этот форум или вот в этот www.progz.ru
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #32294086
Hunter_eea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаешь, пробовал я тут,
RTFM CharToOem, CharToOemBuff, OemToChar, OemToCharBuff
получает правильное, но как то половина на половину.
т.е. часть правильная а часть абракодабра, вот я грешным делом и подумал: "может я чего не додумал"
можеш на мыло пару примеров кинуть?
Буду очень признателен
--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #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
Проблемы с кодировкой
    #32295830
Hunter_eea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как мне ее в DOS2WinString засунуть
char ch;
ch = str.GetAt(i);//В цыкле все энто дело
DOS2WinString((char*)ch) - вот с таким написанием вылетает
--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #32295835
Hunter_eea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То уже не надо всадил я ее туда,
но вот сама проблема заключается в том, что не понимаются маленькие буквы
заглавные определяются нормально

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

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

...сложно конечно сказать почему так ... я пробовал вроди все нормально было. я посмотрю где чего не так, но если проблема есть то она только в массивах перекодировки. в течении дня по свободе все проверю и о результатах напишу
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #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
16 сообщений из 16, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Проблемы с кодировкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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