Erster Commit
This commit is contained in:
+341
@@ -0,0 +1,341 @@
|
||||
'use strict';
|
||||
|
||||
// see tools/generate-charset-mapping.js
|
||||
// basicalliy result of "SHOW COLLATION" query
|
||||
|
||||
const encodings = [
|
||||
'utf8',
|
||||
'big5',
|
||||
'latin2',
|
||||
'dec8',
|
||||
'cp850',
|
||||
'latin1',
|
||||
'hp8',
|
||||
'koi8r',
|
||||
'latin1',
|
||||
'latin2',
|
||||
'swe7',
|
||||
'ascii',
|
||||
'eucjp',
|
||||
'sjis',
|
||||
'cp1251',
|
||||
'latin1',
|
||||
'hebrew',
|
||||
'utf8',
|
||||
'tis620',
|
||||
'euckr',
|
||||
'latin7',
|
||||
'latin2',
|
||||
'koi8u',
|
||||
'cp1251',
|
||||
'gb2312',
|
||||
'greek',
|
||||
'cp1250',
|
||||
'latin2',
|
||||
'gbk',
|
||||
'cp1257',
|
||||
'latin5',
|
||||
'latin1',
|
||||
'armscii8',
|
||||
'cesu8',
|
||||
'cp1250',
|
||||
'ucs2',
|
||||
'cp866',
|
||||
'keybcs2',
|
||||
'macintosh',
|
||||
'macroman',
|
||||
'cp852',
|
||||
'latin7',
|
||||
'latin7',
|
||||
'macintosh',
|
||||
'cp1250',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'latin1',
|
||||
'latin1',
|
||||
'latin1',
|
||||
'cp1251',
|
||||
'cp1251',
|
||||
'cp1251',
|
||||
'macroman',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16-le',
|
||||
'cp1256',
|
||||
'cp1257',
|
||||
'cp1257',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf16-le',
|
||||
'binary',
|
||||
'armscii8',
|
||||
'ascii',
|
||||
'cp1250',
|
||||
'cp1256',
|
||||
'cp866',
|
||||
'dec8',
|
||||
'greek',
|
||||
'hebrew',
|
||||
'hp8',
|
||||
'keybcs2',
|
||||
'koi8r',
|
||||
'koi8u',
|
||||
'cesu8',
|
||||
'latin2',
|
||||
'latin5',
|
||||
'latin7',
|
||||
'cp850',
|
||||
'cp852',
|
||||
'swe7',
|
||||
'cesu8',
|
||||
'big5',
|
||||
'euckr',
|
||||
'gb2312',
|
||||
'gbk',
|
||||
'sjis',
|
||||
'tis620',
|
||||
'ucs2',
|
||||
'eucjp',
|
||||
'geostd8',
|
||||
'geostd8',
|
||||
'latin1',
|
||||
'cp932',
|
||||
'cp932',
|
||||
'eucjpms',
|
||||
'eucjpms',
|
||||
'cp1250',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf16',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'ucs2',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'ucs2',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf32',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'cesu8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'cesu8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'gb18030',
|
||||
'gb18030',
|
||||
'gb18030',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
'utf8',
|
||||
];
|
||||
|
||||
// MariaDB NO PAD collations mirror their PAD SPACE counterparts:
|
||||
// collation id = PAD SPACE collation id + 1024
|
||||
const padSpaceLength = encodings.length;
|
||||
for (let id = 1025; id < 1024 + padSpaceLength; id++) {
|
||||
encodings[id] = encodings[id - 1024];
|
||||
}
|
||||
|
||||
// MariaDB UCA-14.0.0 (uca1400) collations use fixed 256-id blocks
|
||||
// per character set, each covering the PAD SPACE and NO PAD variants
|
||||
const uca1400Blocks = [
|
||||
[2048, 'cesu8'], // utf8mb3
|
||||
[2304, 'utf8'], // utf8mb4
|
||||
[2560, 'ucs2'], // ucs2
|
||||
[2816, 'utf16'], // utf16
|
||||
[3072, 'utf32'], // utf32
|
||||
];
|
||||
for (const [start, encoding] of uca1400Blocks) {
|
||||
for (let id = start; id < start + 256; id++) {
|
||||
encodings[id] = encoding;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = encodings;
|
||||
Reference in New Issue
Block a user