Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
3bdd67a2
Commit
3bdd67a2
authored
Sep 07, 2001
by
Tatsuo Ishii
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add missing files.
parent
0fc7779d
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1117 additions
and
0 deletions
+1117
-0
src/backend/utils/mb/Unicode/alt_to_utf8.map
src/backend/utils/mb/Unicode/alt_to_utf8.map
+130
-0
src/backend/utils/mb/Unicode/koi8r_to_utf8.map
src/backend/utils/mb/Unicode/koi8r_to_utf8.map
+130
-0
src/backend/utils/mb/Unicode/utf8_to_alt.map
src/backend/utils/mb/Unicode/utf8_to_alt.map
+130
-0
src/backend/utils/mb/Unicode/utf8_to_koi8r.map
src/backend/utils/mb/Unicode/utf8_to_koi8r.map
+130
-0
src/backend/utils/mb/Unicode/utf8_to_win1251.map
src/backend/utils/mb/Unicode/utf8_to_win1251.map
+129
-0
src/backend/utils/mb/Unicode/win1251_to_utf8.map
src/backend/utils/mb/Unicode/win1251_to_utf8.map
+130
-0
src/backend/utils/mb/encnames.c
src/backend/utils/mb/encnames.c
+264
-0
src/backend/utils/mb/win1251.c
src/backend/utils/mb/win1251.c
+74
-0
No files found.
src/backend/utils/mb/Unicode/alt_to_utf8.map
0 → 100644
View file @
3bdd67a2
static pg_local_to_utf LUmapALT[ 128 ] = {
{0x0080, 0xd090},
{0x0081, 0xd091},
{0x0082, 0xd092},
{0x0083, 0xd093},
{0x0084, 0xd094},
{0x0085, 0xd095},
{0x0086, 0xd096},
{0x0087, 0xd097},
{0x0088, 0xd098},
{0x0089, 0xd099},
{0x008a, 0xd09a},
{0x008b, 0xd09b},
{0x008c, 0xd09c},
{0x008d, 0xd09d},
{0x008e, 0xd09e},
{0x008f, 0xd09f},
{0x0090, 0xd0a0},
{0x0091, 0xd0a1},
{0x0092, 0xd0a2},
{0x0093, 0xd0a3},
{0x0094, 0xd0a4},
{0x0095, 0xd0a5},
{0x0096, 0xd0a6},
{0x0097, 0xd0a7},
{0x0098, 0xd0a8},
{0x0099, 0xd0a9},
{0x009a, 0xd0aa},
{0x009b, 0xd0ab},
{0x009c, 0xd0ac},
{0x009d, 0xd0ad},
{0x009e, 0xd0ae},
{0x009f, 0xd0af},
{0x00a0, 0xd0b0},
{0x00a1, 0xd0b1},
{0x00a2, 0xd0b2},
{0x00a3, 0xd0b3},
{0x00a4, 0xd0b4},
{0x00a5, 0xd0b5},
{0x00a6, 0xd0b6},
{0x00a7, 0xd0b7},
{0x00a8, 0xd0b8},
{0x00a9, 0xd0b9},
{0x00aa, 0xd0ba},
{0x00ab, 0xd0bb},
{0x00ac, 0xd0bc},
{0x00ad, 0xd0bd},
{0x00ae, 0xd0be},
{0x00af, 0xd0bf},
{0x00b0, 0xe29691},
{0x00b1, 0xe29692},
{0x00b2, 0xe29693},
{0x00b3, 0xe29482},
{0x00b4, 0xe294a4},
{0x00b5, 0xe295a1},
{0x00b6, 0xe295a2},
{0x00b7, 0xe29596},
{0x00b8, 0xe29595},
{0x00b9, 0xe295a3},
{0x00ba, 0xe29591},
{0x00bb, 0xe29597},
{0x00bc, 0xe2959d},
{0x00bd, 0xe2959c},
{0x00be, 0xe2959b},
{0x00bf, 0xe29490},
{0x00c0, 0xe29494},
{0x00c1, 0xe294b4},
{0x00c2, 0xe294ac},
{0x00c3, 0xe2949c},
{0x00c4, 0xe29480},
{0x00c5, 0xe294bc},
{0x00c6, 0xe2959e},
{0x00c7, 0xe2959f},
{0x00c8, 0xe2959a},
{0x00c9, 0xe29594},
{0x00ca, 0xe295a9},
{0x00cb, 0xe295a6},
{0x00cc, 0xe295a0},
{0x00cd, 0xe29590},
{0x00ce, 0xe295ac},
{0x00cf, 0xe295a7},
{0x00d0, 0xe295a8},
{0x00d1, 0xe295a4},
{0x00d2, 0xe295a5},
{0x00d3, 0xe29599},
{0x00d4, 0xe29598},
{0x00d5, 0xe29592},
{0x00d6, 0xe29593},
{0x00d7, 0xe295ab},
{0x00d8, 0xe295aa},
{0x00d9, 0xe29498},
{0x00da, 0xe2948c},
{0x00db, 0xe29688},
{0x00dc, 0xe29684},
{0x00dd, 0xe2968c},
{0x00de, 0xe29690},
{0x00df, 0xe29680},
{0x00e0, 0xd180},
{0x00e1, 0xd181},
{0x00e2, 0xd182},
{0x00e3, 0xd183},
{0x00e4, 0xd184},
{0x00e5, 0xd185},
{0x00e6, 0xd186},
{0x00e7, 0xd187},
{0x00e8, 0xd188},
{0x00e9, 0xd189},
{0x00ea, 0xd18a},
{0x00eb, 0xd18b},
{0x00ec, 0xd18c},
{0x00ed, 0xd18d},
{0x00ee, 0xd18e},
{0x00ef, 0xd18f},
{0x00f0, 0xd081},
{0x00f1, 0xd191},
{0x00f2, 0xd084},
{0x00f3, 0xd194},
{0x00f4, 0xd087},
{0x00f5, 0xd197},
{0x00f6, 0xd08e},
{0x00f7, 0xd19e},
{0x00f8, 0xc2b0},
{0x00f9, 0xe28899},
{0x00fa, 0xc2b7},
{0x00fb, 0xe2889a},
{0x00fc, 0xe28496},
{0x00fd, 0xc2a4},
{0x00fe, 0xe296a0},
{0x00ff, 0xc2a0}
};
src/backend/utils/mb/Unicode/koi8r_to_utf8.map
0 → 100644
View file @
3bdd67a2
static pg_local_to_utf LUmapKOI8R[ 128 ] = {
{0x0080, 0xe29480},
{0x0081, 0xe29482},
{0x0082, 0xe2948c},
{0x0083, 0xe29490},
{0x0084, 0xe29494},
{0x0085, 0xe29498},
{0x0086, 0xe2949c},
{0x0087, 0xe294a4},
{0x0088, 0xe294ac},
{0x0089, 0xe294b4},
{0x008a, 0xe294bc},
{0x008b, 0xe29680},
{0x008c, 0xe29684},
{0x008d, 0xe29688},
{0x008e, 0xe2968c},
{0x008f, 0xe29690},
{0x0090, 0xe29691},
{0x0091, 0xe29692},
{0x0092, 0xe29693},
{0x0093, 0xe28ca0},
{0x0094, 0xe296a0},
{0x0095, 0xe28899},
{0x0096, 0xe2889a},
{0x0097, 0xe28988},
{0x0098, 0xe289a4},
{0x0099, 0xe289a5},
{0x009a, 0xc2a0},
{0x009b, 0xe28ca1},
{0x009c, 0xc2b0},
{0x009d, 0xc2b2},
{0x009e, 0xc2b7},
{0x009f, 0xc3b7},
{0x00a0, 0xe29590},
{0x00a1, 0xe29591},
{0x00a2, 0xe29592},
{0x00a3, 0xd191},
{0x00a4, 0xd194},
{0x00a5, 0xe29594},
{0x00a6, 0xd196},
{0x00a7, 0xd197},
{0x00a8, 0xe29597},
{0x00a9, 0xe29598},
{0x00aa, 0xe29599},
{0x00ab, 0xe2959a},
{0x00ac, 0xe2959b},
{0x00ad, 0xd291},
{0x00ae, 0xe2959d},
{0x00af, 0xe2959e},
{0x00b0, 0xe2959f},
{0x00b1, 0xe295a0},
{0x00b2, 0xe295a1},
{0x00b3, 0xd081},
{0x00b4, 0xd084},
{0x00b5, 0xe295a3},
{0x00b6, 0xd086},
{0x00b7, 0xd087},
{0x00b8, 0xe295a6},
{0x00b9, 0xe295a7},
{0x00ba, 0xe295a8},
{0x00bb, 0xe295a9},
{0x00bc, 0xe295aa},
{0x00bd, 0xd290},
{0x00be, 0xe295ac},
{0x00bf, 0xc2a9},
{0x00c0, 0xd18e},
{0x00c1, 0xd0b0},
{0x00c2, 0xd0b1},
{0x00c3, 0xd186},
{0x00c4, 0xd0b4},
{0x00c5, 0xd0b5},
{0x00c6, 0xd184},
{0x00c7, 0xd0b3},
{0x00c8, 0xd185},
{0x00c9, 0xd0b8},
{0x00ca, 0xd0b9},
{0x00cb, 0xd0ba},
{0x00cc, 0xd0bb},
{0x00cd, 0xd0bc},
{0x00ce, 0xd0bd},
{0x00cf, 0xd0be},
{0x00d0, 0xd0bf},
{0x00d1, 0xd18f},
{0x00d2, 0xd180},
{0x00d3, 0xd181},
{0x00d4, 0xd182},
{0x00d5, 0xd183},
{0x00d6, 0xd0b6},
{0x00d7, 0xd0b2},
{0x00d8, 0xd18c},
{0x00d9, 0xd18b},
{0x00da, 0xd0b7},
{0x00db, 0xd188},
{0x00dc, 0xd18d},
{0x00dd, 0xd189},
{0x00de, 0xd187},
{0x00df, 0xd18a},
{0x00e0, 0xd0ae},
{0x00e1, 0xd090},
{0x00e2, 0xd091},
{0x00e3, 0xd0a6},
{0x00e4, 0xd094},
{0x00e5, 0xd095},
{0x00e6, 0xd0a4},
{0x00e7, 0xd093},
{0x00e8, 0xd0a5},
{0x00e9, 0xd098},
{0x00ea, 0xd099},
{0x00eb, 0xd09a},
{0x00ec, 0xd09b},
{0x00ed, 0xd09c},
{0x00ee, 0xd09d},
{0x00ef, 0xd09e},
{0x00f0, 0xd09f},
{0x00f1, 0xd0af},
{0x00f2, 0xd0a0},
{0x00f3, 0xd0a1},
{0x00f4, 0xd0a2},
{0x00f5, 0xd0a3},
{0x00f6, 0xd096},
{0x00f7, 0xd092},
{0x00f8, 0xd0ac},
{0x00f9, 0xd0ab},
{0x00fa, 0xd097},
{0x00fb, 0xd0a8},
{0x00fc, 0xd0ad},
{0x00fd, 0xd0a9},
{0x00fe, 0xd0a7},
{0x00ff, 0xd0aa}
};
src/backend/utils/mb/Unicode/utf8_to_alt.map
0 → 100644
View file @
3bdd67a2
static pg_utf_to_local ULmap_ALT[ 128 ] = {
{0xc2a0, 0x00ff},
{0xc2a4, 0x00fd},
{0xc2b0, 0x00f8},
{0xc2b7, 0x00fa},
{0xd081, 0x00f0},
{0xd084, 0x00f2},
{0xd087, 0x00f4},
{0xd08e, 0x00f6},
{0xd090, 0x0080},
{0xd091, 0x0081},
{0xd092, 0x0082},
{0xd093, 0x0083},
{0xd094, 0x0084},
{0xd095, 0x0085},
{0xd096, 0x0086},
{0xd097, 0x0087},
{0xd098, 0x0088},
{0xd099, 0x0089},
{0xd09a, 0x008a},
{0xd09b, 0x008b},
{0xd09c, 0x008c},
{0xd09d, 0x008d},
{0xd09e, 0x008e},
{0xd09f, 0x008f},
{0xd0a0, 0x0090},
{0xd0a1, 0x0091},
{0xd0a2, 0x0092},
{0xd0a3, 0x0093},
{0xd0a4, 0x0094},
{0xd0a5, 0x0095},
{0xd0a6, 0x0096},
{0xd0a7, 0x0097},
{0xd0a8, 0x0098},
{0xd0a9, 0x0099},
{0xd0aa, 0x009a},
{0xd0ab, 0x009b},
{0xd0ac, 0x009c},
{0xd0ad, 0x009d},
{0xd0ae, 0x009e},
{0xd0af, 0x009f},
{0xd0b0, 0x00a0},
{0xd0b1, 0x00a1},
{0xd0b2, 0x00a2},
{0xd0b3, 0x00a3},
{0xd0b4, 0x00a4},
{0xd0b5, 0x00a5},
{0xd0b6, 0x00a6},
{0xd0b7, 0x00a7},
{0xd0b8, 0x00a8},
{0xd0b9, 0x00a9},
{0xd0ba, 0x00aa},
{0xd0bb, 0x00ab},
{0xd0bc, 0x00ac},
{0xd0bd, 0x00ad},
{0xd0be, 0x00ae},
{0xd0bf, 0x00af},
{0xd180, 0x00e0},
{0xd181, 0x00e1},
{0xd182, 0x00e2},
{0xd183, 0x00e3},
{0xd184, 0x00e4},
{0xd185, 0x00e5},
{0xd186, 0x00e6},
{0xd187, 0x00e7},
{0xd188, 0x00e8},
{0xd189, 0x00e9},
{0xd18a, 0x00ea},
{0xd18b, 0x00eb},
{0xd18c, 0x00ec},
{0xd18d, 0x00ed},
{0xd18e, 0x00ee},
{0xd18f, 0x00ef},
{0xd191, 0x00f1},
{0xd194, 0x00f3},
{0xd197, 0x00f5},
{0xd19e, 0x00f7},
{0xe28496, 0x00fc},
{0xe28899, 0x00f9},
{0xe2889a, 0x00fb},
{0xe29480, 0x00c4},
{0xe29482, 0x00b3},
{0xe2948c, 0x00da},
{0xe29490, 0x00bf},
{0xe29494, 0x00c0},
{0xe29498, 0x00d9},
{0xe2949c, 0x00c3},
{0xe294a4, 0x00b4},
{0xe294ac, 0x00c2},
{0xe294b4, 0x00c1},
{0xe294bc, 0x00c5},
{0xe29590, 0x00cd},
{0xe29591, 0x00ba},
{0xe29592, 0x00d5},
{0xe29593, 0x00d6},
{0xe29594, 0x00c9},
{0xe29595, 0x00b8},
{0xe29596, 0x00b7},
{0xe29597, 0x00bb},
{0xe29598, 0x00d4},
{0xe29599, 0x00d3},
{0xe2959a, 0x00c8},
{0xe2959b, 0x00be},
{0xe2959c, 0x00bd},
{0xe2959d, 0x00bc},
{0xe2959e, 0x00c6},
{0xe2959f, 0x00c7},
{0xe295a0, 0x00cc},
{0xe295a1, 0x00b5},
{0xe295a2, 0x00b6},
{0xe295a3, 0x00b9},
{0xe295a4, 0x00d1},
{0xe295a5, 0x00d2},
{0xe295a6, 0x00cb},
{0xe295a7, 0x00cf},
{0xe295a8, 0x00d0},
{0xe295a9, 0x00ca},
{0xe295aa, 0x00d8},
{0xe295ab, 0x00d7},
{0xe295ac, 0x00ce},
{0xe29680, 0x00df},
{0xe29684, 0x00dc},
{0xe29688, 0x00db},
{0xe2968c, 0x00dd},
{0xe29690, 0x00de},
{0xe29691, 0x00b0},
{0xe29692, 0x00b1},
{0xe29693, 0x00b2},
{0xe296a0, 0x00fe}
};
src/backend/utils/mb/Unicode/utf8_to_koi8r.map
0 → 100644
View file @
3bdd67a2
static pg_utf_to_local ULmap_KOI8R[ 128 ] = {
{0xc2a0, 0x009a},
{0xc2a9, 0x00bf},
{0xc2b0, 0x009c},
{0xc2b2, 0x009d},
{0xc2b7, 0x009e},
{0xc3b7, 0x009f},
{0xd081, 0x00b3},
{0xd084, 0x00b4},
{0xd086, 0x00b6},
{0xd087, 0x00b7},
{0xd090, 0x00e1},
{0xd091, 0x00e2},
{0xd092, 0x00f7},
{0xd093, 0x00e7},
{0xd094, 0x00e4},
{0xd095, 0x00e5},
{0xd096, 0x00f6},
{0xd097, 0x00fa},
{0xd098, 0x00e9},
{0xd099, 0x00ea},
{0xd09a, 0x00eb},
{0xd09b, 0x00ec},
{0xd09c, 0x00ed},
{0xd09d, 0x00ee},
{0xd09e, 0x00ef},
{0xd09f, 0x00f0},
{0xd0a0, 0x00f2},
{0xd0a1, 0x00f3},
{0xd0a2, 0x00f4},
{0xd0a3, 0x00f5},
{0xd0a4, 0x00e6},
{0xd0a5, 0x00e8},
{0xd0a6, 0x00e3},
{0xd0a7, 0x00fe},
{0xd0a8, 0x00fb},
{0xd0a9, 0x00fd},
{0xd0aa, 0x00ff},
{0xd0ab, 0x00f9},
{0xd0ac, 0x00f8},
{0xd0ad, 0x00fc},
{0xd0ae, 0x00e0},
{0xd0af, 0x00f1},
{0xd0b0, 0x00c1},
{0xd0b1, 0x00c2},
{0xd0b2, 0x00d7},
{0xd0b3, 0x00c7},
{0xd0b4, 0x00c4},
{0xd0b5, 0x00c5},
{0xd0b6, 0x00d6},
{0xd0b7, 0x00da},
{0xd0b8, 0x00c9},
{0xd0b9, 0x00ca},
{0xd0ba, 0x00cb},
{0xd0bb, 0x00cc},
{0xd0bc, 0x00cd},
{0xd0bd, 0x00ce},
{0xd0be, 0x00cf},
{0xd0bf, 0x00d0},
{0xd180, 0x00d2},
{0xd181, 0x00d3},
{0xd182, 0x00d4},
{0xd183, 0x00d5},
{0xd184, 0x00c6},
{0xd185, 0x00c8},
{0xd186, 0x00c3},
{0xd187, 0x00de},
{0xd188, 0x00db},
{0xd189, 0x00dd},
{0xd18a, 0x00df},
{0xd18b, 0x00d9},
{0xd18c, 0x00d8},
{0xd18d, 0x00dc},
{0xd18e, 0x00c0},
{0xd18f, 0x00d1},
{0xd191, 0x00a3},
{0xd194, 0x00a4},
{0xd196, 0x00a6},
{0xd197, 0x00a7},
{0xd290, 0x00bd},
{0xd291, 0x00ad},
{0xe28899, 0x0095},
{0xe2889a, 0x0096},
{0xe28988, 0x0097},
{0xe289a4, 0x0098},
{0xe289a5, 0x0099},
{0xe28ca0, 0x0093},
{0xe28ca1, 0x009b},
{0xe29480, 0x0080},
{0xe29482, 0x0081},
{0xe2948c, 0x0082},
{0xe29490, 0x0083},
{0xe29494, 0x0084},
{0xe29498, 0x0085},
{0xe2949c, 0x0086},
{0xe294a4, 0x0087},
{0xe294ac, 0x0088},
{0xe294b4, 0x0089},
{0xe294bc, 0x008a},
{0xe29590, 0x00a0},
{0xe29591, 0x00a1},
{0xe29592, 0x00a2},
{0xe29594, 0x00a5},
{0xe29597, 0x00a8},
{0xe29598, 0x00a9},
{0xe29599, 0x00aa},
{0xe2959a, 0x00ab},
{0xe2959b, 0x00ac},
{0xe2959d, 0x00ae},
{0xe2959e, 0x00af},
{0xe2959f, 0x00b0},
{0xe295a0, 0x00b1},
{0xe295a1, 0x00b2},
{0xe295a3, 0x00b5},
{0xe295a6, 0x00b8},
{0xe295a7, 0x00b9},
{0xe295a8, 0x00ba},
{0xe295a9, 0x00bb},
{0xe295aa, 0x00bc},
{0xe295ac, 0x00be},
{0xe29680, 0x008b},
{0xe29684, 0x008c},
{0xe29688, 0x008d},
{0xe2968c, 0x008e},
{0xe29690, 0x008f},
{0xe29691, 0x0090},
{0xe29692, 0x0091},
{0xe29693, 0x0092},
{0xe296a0, 0x0094}
};
src/backend/utils/mb/Unicode/utf8_to_win1251.map
0 → 100644
View file @
3bdd67a2
static pg_utf_to_local ULmap_WIN1251[ 127 ] = {
{0x0000, 0x0088},
{0xc2a0, 0x00a0},
{0xc2a4, 0x00a4},
{0xc2a6, 0x00a6},
{0xc2a7, 0x00a7},
{0xc2a9, 0x00a9},
{0xc2ab, 0x00ab},
{0xc2ac, 0x00ac},
{0xc2ad, 0x00ad},
{0xc2ae, 0x00ae},
{0xc2b0, 0x00b0},
{0xc2b1, 0x00b1},
{0xc2b5, 0x00b5},
{0xc2b6, 0x00b6},
{0xc2b7, 0x00b7},
{0xc2bb, 0x00bb},
{0xd081, 0x00a8},
{0xd082, 0x0080},
{0xd083, 0x0081},
{0xd084, 0x00aa},
{0xd085, 0x00bd},
{0xd086, 0x00b2},
{0xd087, 0x00af},
{0xd088, 0x00a3},
{0xd089, 0x008a},
{0xd08a, 0x008c},
{0xd08b, 0x008e},
{0xd08c, 0x008d},
{0xd08e, 0x00a1},
{0xd08f, 0x008f},
{0xd090, 0x00c0},
{0xd091, 0x00c1},
{0xd092, 0x00c2},
{0xd093, 0x00c3},
{0xd094, 0x00c4},
{0xd095, 0x00c5},
{0xd096, 0x00c6},
{0xd097, 0x00c7},
{0xd098, 0x00c8},
{0xd099, 0x00c9},
{0xd09a, 0x00ca},
{0xd09b, 0x00cb},
{0xd09c, 0x00cc},
{0xd09d, 0x00cd},
{0xd09e, 0x00ce},
{0xd09f, 0x00cf},
{0xd0a0, 0x00d0},
{0xd0a1, 0x00d1},
{0xd0a2, 0x00d2},
{0xd0a3, 0x00d3},
{0xd0a4, 0x00d4},
{0xd0a5, 0x00d5},
{0xd0a6, 0x00d6},
{0xd0a7, 0x00d7},
{0xd0a8, 0x00d8},
{0xd0a9, 0x00d9},
{0xd0aa, 0x00da},
{0xd0ab, 0x00db},
{0xd0ac, 0x00dc},
{0xd0ad, 0x00dd},
{0xd0ae, 0x00de},
{0xd0af, 0x00df},
{0xd0b0, 0x00e0},
{0xd0b1, 0x00e1},
{0xd0b2, 0x00e2},
{0xd0b3, 0x00e3},
{0xd0b4, 0x00e4},
{0xd0b5, 0x00e5},
{0xd0b6, 0x00e6},
{0xd0b7, 0x00e7},
{0xd0b8, 0x00e8},
{0xd0b9, 0x00e9},
{0xd0ba, 0x00ea},
{0xd0bb, 0x00eb},
{0xd0bc, 0x00ec},
{0xd0bd, 0x00ed},
{0xd0be, 0x00ee},
{0xd0bf, 0x00ef},
{0xd180, 0x00f0},
{0xd181, 0x00f1},
{0xd182, 0x00f2},
{0xd183, 0x00f3},
{0xd184, 0x00f4},
{0xd185, 0x00f5},
{0xd186, 0x00f6},
{0xd187, 0x00f7},
{0xd188, 0x00f8},
{0xd189, 0x00f9},
{0xd18a, 0x00fa},
{0xd18b, 0x00fb},
{0xd18c, 0x00fc},
{0xd18d, 0x00fd},
{0xd18e, 0x00fe},
{0xd18f, 0x00ff},
{0xd191, 0x00b8},
{0xd192, 0x0090},
{0xd193, 0x0083},
{0xd194, 0x00ba},
{0xd195, 0x00be},
{0xd196, 0x00b3},
{0xd197, 0x00bf},
{0xd198, 0x00bc},
{0xd199, 0x009a},
{0xd19a, 0x009c},
{0xd19b, 0x009e},
{0xd19c, 0x009d},
{0xd19e, 0x00a2},
{0xd19f, 0x009f},
{0xd290, 0x00a5},
{0xd291, 0x00b4},
{0xe28093, 0x0096},
{0xe28094, 0x0097},
{0xe28098, 0x0091},
{0xe28099, 0x0092},
{0xe2809a, 0x0082},
{0xe2809c, 0x0093},
{0xe2809d, 0x0094},
{0xe2809e, 0x0084},
{0xe280a0, 0x0086},
{0xe280a1, 0x0087},
{0xe280a2, 0x0095},
{0xe280a6, 0x0085},
{0xe280b0, 0x0089},
{0xe280b9, 0x008b},
{0xe280ba, 0x009b},
{0xe28496, 0x00b9},
{0xe284a2, 0x0099}
};
src/backend/utils/mb/Unicode/win1251_to_utf8.map
0 → 100644
View file @
3bdd67a2
static pg_local_to_utf LUmapWIN1251[ 128 ] = {
{0x0080, 0xd082},
{0x0081, 0xd083},
{0x0082, 0xe2809a},
{0x0083, 0xd193},
{0x0084, 0xe2809e},
{0x0085, 0xe280a6},
{0x0086, 0xe280a0},
{0x0087, 0xe280a1},
{0x0088, 0x0000},
{0x0089, 0xe280b0},
{0x008a, 0xd089},
{0x008b, 0xe280b9},
{0x008c, 0xd08a},
{0x008d, 0xd08c},
{0x008e, 0xd08b},
{0x008f, 0xd08f},
{0x0090, 0xd192},
{0x0091, 0xe28098},
{0x0092, 0xe28099},
{0x0093, 0xe2809c},
{0x0094, 0xe2809d},
{0x0095, 0xe280a2},
{0x0096, 0xe28093},
{0x0097, 0xe28094},
{0x0098, 0x0000},
{0x0099, 0xe284a2},
{0x009a, 0xd199},
{0x009b, 0xe280ba},
{0x009c, 0xd19a},
{0x009d, 0xd19c},
{0x009e, 0xd19b},
{0x009f, 0xd19f},
{0x00a0, 0xc2a0},
{0x00a1, 0xd08e},
{0x00a2, 0xd19e},
{0x00a3, 0xd088},
{0x00a4, 0xc2a4},
{0x00a5, 0xd290},
{0x00a6, 0xc2a6},
{0x00a7, 0xc2a7},
{0x00a8, 0xd081},
{0x00a9, 0xc2a9},
{0x00aa, 0xd084},
{0x00ab, 0xc2ab},
{0x00ac, 0xc2ac},
{0x00ad, 0xc2ad},
{0x00ae, 0xc2ae},
{0x00af, 0xd087},
{0x00b0, 0xc2b0},
{0x00b1, 0xc2b1},
{0x00b2, 0xd086},
{0x00b3, 0xd196},
{0x00b4, 0xd291},
{0x00b5, 0xc2b5},
{0x00b6, 0xc2b6},
{0x00b7, 0xc2b7},
{0x00b8, 0xd191},
{0x00b9, 0xe28496},
{0x00ba, 0xd194},
{0x00bb, 0xc2bb},
{0x00bc, 0xd198},
{0x00bd, 0xd085},
{0x00be, 0xd195},
{0x00bf, 0xd197},
{0x00c0, 0xd090},
{0x00c1, 0xd091},
{0x00c2, 0xd092},
{0x00c3, 0xd093},
{0x00c4, 0xd094},
{0x00c5, 0xd095},
{0x00c6, 0xd096},
{0x00c7, 0xd097},
{0x00c8, 0xd098},
{0x00c9, 0xd099},
{0x00ca, 0xd09a},
{0x00cb, 0xd09b},
{0x00cc, 0xd09c},
{0x00cd, 0xd09d},
{0x00ce, 0xd09e},
{0x00cf, 0xd09f},
{0x00d0, 0xd0a0},
{0x00d1, 0xd0a1},
{0x00d2, 0xd0a2},
{0x00d3, 0xd0a3},
{0x00d4, 0xd0a4},
{0x00d5, 0xd0a5},
{0x00d6, 0xd0a6},
{0x00d7, 0xd0a7},
{0x00d8, 0xd0a8},
{0x00d9, 0xd0a9},
{0x00da, 0xd0aa},
{0x00db, 0xd0ab},
{0x00dc, 0xd0ac},
{0x00dd, 0xd0ad},
{0x00de, 0xd0ae},
{0x00df, 0xd0af},
{0x00e0, 0xd0b0},
{0x00e1, 0xd0b1},
{0x00e2, 0xd0b2},
{0x00e3, 0xd0b3},
{0x00e4, 0xd0b4},
{0x00e5, 0xd0b5},
{0x00e6, 0xd0b6},
{0x00e7, 0xd0b7},
{0x00e8, 0xd0b8},
{0x00e9, 0xd0b9},
{0x00ea, 0xd0ba},
{0x00eb, 0xd0bb},
{0x00ec, 0xd0bc},
{0x00ed, 0xd0bd},
{0x00ee, 0xd0be},
{0x00ef, 0xd0bf},
{0x00f0, 0xd180},
{0x00f1, 0xd181},
{0x00f2, 0xd182},
{0x00f3, 0xd183},
{0x00f4, 0xd184},
{0x00f5, 0xd185},
{0x00f6, 0xd186},
{0x00f7, 0xd187},
{0x00f8, 0xd188},
{0x00f9, 0xd189},
{0x00fa, 0xd18a},
{0x00fb, 0xd18b},
{0x00fc, 0xd18c},
{0x00fd, 0xd18d},
{0x00fe, 0xd18e},
{0x00ff, 0xd18f}
};
src/backend/utils/mb/encnames.c
0 → 100644
View file @
3bdd67a2
/*
* Encoding names and routines for work with it. All
* in this file is shared bedween FE and BE.
*
* $Id: encnames.c,v 1.1 2001/09/07 03:32:11 ishii Exp $
*/
#ifdef FRONTEND
#include "postgres_fe.h"
#define Assert(condition)
#else
#include "postgres.h"
#include "miscadmin.h"
#include "utils/builtins.h"
#endif
#ifdef WIN32
#include "win32.h"
#else
#include <unistd.h>
#endif
#include "mb/pg_wchar.h"
#include <ctype.h>
/*
* Debug
*/
/* #define DEBUG_ENCODING */
#ifdef DEBUG_ENCODING
#ifdef FRONTEND
#define encdebug(_format, _a...) fprintf(stderr, _format, ##_a)
#else
#define encdebug(_format, _a...) elog(NOTICE, _format, ##_a)
#endif
#else
#define encdebug(_format, _a...)
#endif
/* ----------
* All encoding names, sorted: *** A L P H A B E T I C ***
*
* All names must be without irrelevan chars, search routines use
* isalnum() chars only. It means ISO-8859-1, iso_8859-1 and Iso8859_1
* are always converted to 'iso88591'. All must be lower case.
*
* The table doesn't contain 'cs' aliases (like csISOLatin1). It's needful?
*
* Karel Zak, Aug 2001
* ----------
*/
pg_encname
pg_encname_tbl
[]
=
{
{
"alt"
,
PG_ALT
},
/* IBM866 */
{
"big5"
,
PG_BIG5
},
/* Big5; Chinese for Taiwan Multi-byte set */
{
"euccn"
,
PG_EUC_CN
},
/* EUC-CN; ??? */
{
"eucjp"
,
PG_EUC_JP
},
/* EUC-JP; Extended UNIX Code Fixed Width for Japanese, stdandard OSF */
{
"euckr"
,
PG_EUC_KR
},
/* EUC-KR; RFC1557,Choi */
{
"euctw"
,
PG_EUC_TW
},
/* EUC-TW; ??? */
{
"iso88591"
,
PG_LATIN1
},
/* ISO-8859-1; RFC1345,KXS2 */
{
"iso88592"
,
PG_LATIN2
},
/* ISO-8859-2; RFC1345,KXS2 */
{
"iso88593"
,
PG_LATIN3
},
/* ISO-8859-3; RFC1345,KXS2 */
{
"iso88594"
,
PG_LATIN4
},
/* ISO-8859-4; RFC1345,KXS2 */
{
"iso88595"
,
PG_LATIN5
},
/* ISO-8859-5; RFC1345,KXS2 */
{
"koi8"
,
PG_KOI8R
},
/* _dirty_ alias for KOI8-R (back compatibility) */
{
"koi8r"
,
PG_KOI8R
},
/* KOI8-R; RFC1489 */
{
"latin1"
,
PG_LATIN1
},
/* alias for ISO-8859-1 */
{
"latin2"
,
PG_LATIN2
},
/* alias for ISO-8859-2 */
{
"latin3"
,
PG_LATIN3
},
/* alias for ISO-8859-3 */
{
"latin4"
,
PG_LATIN4
},
/* alias for ISO-8859-4 */
{
"latin5"
,
PG_LATIN5
},
/* alias for ISO-8859-5 */
{
"mskanji"
,
PG_SJIS
},
/* alias for Shift_JIS */
{
"muleinternal"
,
PG_MULE_INTERNAL
},
{
"shiftjis"
,
PG_SJIS
},
/* Shift_JIS; JIS X 0202-1991 */
{
"sjis"
,
PG_SJIS
},
/* alias for Shift_JIS */
{
"sqlascii"
,
PG_SQL_ASCII
},
{
"unicode"
,
PG_UTF8
},
/* alias for UTF-8 */
{
"utf8"
,
PG_UTF8
},
/* UTF-8; RFC2279 */
{
"win"
,
PG_WIN1251
},
/* _dirty_ alias for windows-1251 (back compatibility) */
{
"win1250"
,
PG_WIN1250
},
/* alias for Windows-1250 */
{
"win1251"
,
PG_WIN1251
},
/* alias for Windows-1251 */
{
"windows1250"
,
PG_WIN1250
},
/* Windows-1251; Microsoft */
{
"windows1251"
,
PG_WIN1251
},
/* Windows-1251; Microsoft */
{
NULL
,
0
}
/* last */
};
unsigned
int
pg_encname_tbl_sz
=
\
sizeof
(
pg_encname_tbl
)
/
sizeof
(
pg_encname_tbl
[
0
])
-
1
;
/* ----------
* WARNING: sorted by pg_enc enum (pg_wchar.h)!
* ----------
*/
pg_enc2name
pg_enc2name_tbl
[]
=
{
{
"SQL_ASCII"
,
PG_SQL_ASCII
},
{
"EUC_JP"
,
PG_EUC_JP
},
{
"EUC_CN"
,
PG_EUC_CN
},
{
"EUC_KR"
,
PG_EUC_KR
},
{
"EUC_TW"
,
PG_EUC_TW
},
{
"UNICODE"
,
PG_UTF8
},
{
"MULE_INTERNAL"
,
PG_MULE_INTERNAL
},
{
"LATIN1"
,
PG_LATIN1
},
{
"LATIN2"
,
PG_LATIN2
},
{
"LATIN3"
,
PG_LATIN3
},
{
"LATIN4"
,
PG_LATIN4
},
{
"LATIN5"
,
PG_LATIN5
},
{
"KOI8"
,
PG_KOI8R
},
{
"WIN"
,
PG_WIN1251
},
{
"ALT"
,
PG_ALT
},
{
"SJIS"
,
PG_SJIS
},
{
"BIG5"
,
PG_BIG5
},
{
"WIN1250"
,
PG_WIN1250
}
};
/* ----------
* Encoding checks, for error returns -1 else encoding id
* ----------
*/
int
pg_valid_client_encoding
(
const
char
*
name
)
{
int
enc
;
if
((
enc
=
pg_char_to_encoding
(
name
))
<
0
)
return
-
1
;
if
(
!
PG_VALID_FE_ENCODING
(
enc
))
return
-
1
;
return
enc
;
}
int
pg_valid_server_encoding
(
const
char
*
name
)
{
int
enc
;
if
((
enc
=
pg_char_to_encoding
(
name
))
<
0
)
return
-
1
;
if
(
!
PG_VALID_BE_ENCODING
(
enc
))
return
-
1
;
return
enc
;
}
/* ----------
* Remove irrelevant chars from encoding name
* ----------
*/
static
char
*
clean_encoding_name
(
char
*
key
,
char
*
newkey
)
{
char
*
p
,
*
np
;
for
(
p
=
key
,
np
=
newkey
;
*
p
!=
'\0'
;
p
++
)
{
if
(
isalnum
((
unsigned
char
)
*
p
))
*
np
++=
tolower
((
unsigned
char
)
*
p
);
}
*
np
=
'\0'
;
return
newkey
;
}
/* ----------
* Search encoding by encoding name
* ----------
*/
pg_encname
*
pg_char_to_encname_struct
(
const
char
*
name
)
{
unsigned
int
nel
=
pg_encname_tbl_sz
;
pg_encname
*
base
=
pg_encname_tbl
,
*
last
=
base
+
nel
-
1
,
*
position
;
int
result
;
char
buff
[
NAMEDATALEN
],
*
key
;
if
(
name
==
NULL
||
*
name
==
'\0'
)
return
NULL
;
if
(
strlen
(
name
)
>
NAMEDATALEN
)
{
#ifdef FRONTEND
fprintf
(
stderr
,
"pg_char_to_encname_struct(): encoding name too long"
);
return
NULL
;
#else
elog
(
ERROR
,
"pg_char_to_encname_struct(): encoding name too long"
);
#endif
}
key
=
clean_encoding_name
((
char
*
)
name
,
buff
);
encdebug
(
"Name: %s"
,
key
);
while
(
last
>=
base
)
{
position
=
base
+
((
last
-
base
)
>>
1
);
result
=
key
[
0
]
-
position
->
name
[
0
];
if
(
result
==
0
)
{
result
=
strcmp
(
key
,
position
->
name
);
if
(
result
==
0
)
return
position
;
}
if
(
result
<
0
)
last
=
position
-
1
;
else
base
=
position
+
1
;
}
encdebug
(
"UNKNOWN! encoding"
);
return
NULL
;
}
/*
* Returns encoding or -1 for error
*/
int
pg_char_to_encoding
(
const
char
*
s
)
{
pg_encname
*
p
=
NULL
;
if
(
!
s
)
return
(
-
1
);
p
=
pg_char_to_encname_struct
(
s
);
return
p
?
p
->
encoding
:
-
1
;
}
#ifndef FRONTEND
Datum
PG_char_to_encoding
(
PG_FUNCTION_ARGS
)
{
Name
s
=
PG_GETARG_NAME
(
0
);
PG_RETURN_INT32
(
pg_char_to_encoding
(
NameStr
(
*
s
)));
}
#endif
const
char
*
pg_encoding_to_char
(
int
encoding
)
{
if
(
PG_VALID_ENCODING
(
encoding
))
{
pg_enc2name
*
p
=
&
pg_enc2name_tbl
[
encoding
];
Assert
(
encoding
==
p
->
encoding
);
return
p
->
name
;
}
return
""
;
}
#ifndef FRONTEND
Datum
PG_encoding_to_char
(
PG_FUNCTION_ARGS
)
{
int32
encoding
=
PG_GETARG_INT32
(
0
);
const
char
*
encoding_name
=
pg_encoding_to_char
(
encoding
);
return
DirectFunctionCall1
(
namein
,
CStringGetDatum
(
encoding_name
));
}
#endif
src/backend/utils/mb/win1251.c
0 → 100644
View file @
3bdd67a2
/*
* make KOI8->CP1251(win-1251) and CP1251(win-1251)->KOI8 translation table
* from koi-win.tab.
*
* Tatsuo Ishii
*
* $Id: win1251.c,v 1.1 2001/09/07 03:32:11 ishii Exp $
*/
#include <stdio.h>
main
()
{
int
i
;
char
koitab
[
128
],
wintab
[
128
];
char
buf
[
4096
];
int
koi
,
win
;
for
(
i
=
0
;
i
<
128
;
i
++
)
koitab
[
i
]
=
wintab
[
i
]
=
0
;
while
(
fgets
(
buf
,
sizeof
(
buf
),
stdin
)
!=
NULL
)
{
if
(
*
buf
==
'#'
)
continue
;
sscanf
(
buf
,
"%d %d"
,
&
koi
,
&
win
);
if
(
koi
<
128
||
koi
>
255
||
win
<
128
||
win
>
255
)
{
fprintf
(
stderr
,
"invalid value %d
\n
"
,
koi
);
exit
(
1
);
}
koitab
[
koi
-
128
]
=
win
;
wintab
[
win
-
128
]
=
koi
;
}
i
=
0
;
printf
(
"static char koi2win[] = {
\n
"
);
while
(
i
<
128
)
{
int
j
=
0
;
while
(
j
<
8
)
{
printf
(
"0x%02x"
,
koitab
[
i
++
]);
j
++
;
if
(
i
>=
128
)
break
;
printf
(
", "
);
}
printf
(
"
\n
"
);
}
printf
(
"};
\n
"
);
i
=
0
;
printf
(
"static char win2koi[] = {
\n
"
);
while
(
i
<
128
)
{
int
j
=
0
;
while
(
j
<
8
)
{
printf
(
"0x%02x"
,
wintab
[
i
++
]);
j
++
;
if
(
i
>=
128
)
break
;
printf
(
", "
);
}
printf
(
"
\n
"
);
}
printf
(
"};
\n
"
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment