[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Unikody, UTF-8 i Progress - Finał (druga częć )
Druga część z dołączoną tablicą konwersji
Przy okazji odniosę się do kwesti "globalnego
sortowania". Według mnie jest to technicznie możliwe, bo jeśli
baza progress'owa będzie trzymała informacje zapisane w Unikodzie, który
zwiera znaki z różnych alfabetów, w tym bardzo egzotycznych, to można
stworzyć Collation Table, która ustali ich porządek wedlug życzenia
programisty. Z drugiej strony oglądając istniejące tablice Collation i
czytając na ich temat w dokumentacji wszędzie mówi sie o tablicach
Collation dla kodów jednobajtowych., co z kolei dla Unikodu jest
niewystraczające. Być może jest to tylko brak opisu jak taką tablicę
stworzyć, bądź też nie przewidzino jeszcze takiej możliwości (mam wersję
9.0), chociaż dopuszczając bazy i cpinternal UTF-8 powinno to być
możliwe. Pomijam już kwestę wyznaczenia kolejności sortowania
poszczególnych znaków, bo tutaj może być ogromny problem, nawet jeśli
idzie o litery zbudowane na bazie łacińskiego alfabetu (o alfabetach
chińskich czy arabskich, to lepiej nie wspominać). Często litera o tym
samym wyglądzie (najczęściej z jakimiś ogonkami, kreskami, daszkami, itp)
w jednym alfabecie występuje na poczatku alfabetu, zaś w innym na końcu i
jak tu zadowolić wszystkich ?
Przepraszam za zbyt długie "przynudzanie" (nawet program
obsługi poczty ma tego dosyć), pozdrawiam,
Henryk
Jusza
mailto:henju@pg.gda.pl
--------------------------------------------------------------
Ośrodek Informatyczny Politechniki Gdańskiej
Pracownia Rozwoju Oprogramowania
tel (058) 347-28-01
fax (058) 347-24-63
#---------------------------------------------------------------------------
# HJ - Conversion table for code page 1250 to code page UTF-8
CONVERT
SOURCE-NAME "1250"
TARGET-NAME "UTF-8"
TYPE "19"
/*000-015*/ 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015
/*016-031*/ 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031
/*032-047*/ 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047
/*048-063*/ 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063
/*064-079*/ 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079
/*080-095*/ 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095
/*096-111*/ 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111
/*112-127*/ 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
/*128-143*/ 128 129 130 131 132 133 134 135 136 137 138 139 0x15A 141 142 0x179
/*144-159*/ 144 145 146 147 148 149 150 151 152 153 154 155 0x15B 157 158 0x17A
/*160-175*/ 160 161 162 0x141 164 0x104 166 167 168 169 170 171 172 173 174 0x17B
/*176-191*/ 176 177 178 0x142 180 181 182 183 184 0x105 186 187 188 189 190 0x17C
/*192-207*/ 192 193 194 195 196 197 0x106 199 200 201 0x118 203 204 205 206 207
/*208-223*/ 208 0x143 210 0x0D3 212 213 214 215 216 217 218 219 220 221 222 223
/*224-239*/ 224 225 226 227 228 229 0x107 231 232 233 0x119 235 236 237 238 239
/*240-255*/ 240 0x144 242 0x0F3 244 245 246 247 248 249 250 251 252 253 254 255
ENDTABLE
ENDCONVERT