github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/pingcap/tidb/mysql/charset.go (about) 1 // Copyright 2015 PingCAP, Inc. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // See the License for the specific language governing permissions and 12 // limitations under the License. 13 14 package mysql 15 16 // CharsetIDs maps charset name to its default collation ID. 17 var CharsetIDs = map[string]uint8{ 18 "big5": 1, 19 "dec8": 3, 20 "cp850": 4, 21 "hp8": 6, 22 "koi8r": 7, 23 "latin1": 8, 24 "latin2": 9, 25 "swe7": 10, 26 "ascii": 11, 27 "ujis": 12, 28 "sjis": 13, 29 "hebrew": 16, 30 "tis620": 18, 31 "euckr": 19, 32 "koi8u": 22, 33 "gb2312": 24, 34 "greek": 25, 35 "cp1250": 26, 36 "gbk": 28, 37 "latin5": 30, 38 "armscii8": 32, 39 "utf8": 33, 40 "ucs2": 35, 41 "cp866": 36, 42 "keybcs2": 37, 43 "macce": 38, 44 "macroman": 39, 45 "cp852": 40, 46 "latin7": 41, 47 "utf8mb4": 45, 48 "cp1251": 51, 49 "utf16": 54, 50 "utf16le": 56, 51 "cp1256": 57, 52 "cp1257": 59, 53 "utf32": 60, 54 "binary": 63, 55 "geostd8": 92, 56 "cp932": 95, 57 "eucjpms": 97, 58 } 59 60 // Charsets maps charset name to its default collation name. 61 var Charsets = map[string]string{ 62 "big5": "big5_chinese_ci", 63 "dec8": "dec8_swedish_ci", 64 "cp850": "cp850_general_ci", 65 "hp8": "hp8_english_ci", 66 "koi8r": "koi8r_general_ci", 67 "latin1": "latin1_swedish_ci", 68 "latin2": "latin2_general_ci", 69 "swe7": "swe7_swedish_ci", 70 "ascii": "ascii_general_ci", 71 "ujis": "ujis_japanese_ci", 72 "sjis": "sjis_japanese_ci", 73 "hebrew": "hebrew_general_ci", 74 "tis620": "tis620_thai_ci", 75 "euckr": "euckr_korean_ci", 76 "koi8u": "koi8u_general_ci", 77 "gb2312": "gb2312_chinese_ci", 78 "greek": "greek_general_ci", 79 "cp1250": "cp1250_general_ci", 80 "gbk": "gbk_chinese_ci", 81 "latin5": "latin5_turkish_ci", 82 "armscii8": "armscii8_general_ci", 83 "utf8": "utf8_general_ci", 84 "ucs2": "ucs2_general_ci", 85 "cp866": "cp866_general_ci", 86 "keybcs2": "keybcs2_general_ci", 87 "macce": "macce_general_ci", 88 "macroman": "macroman_general_ci", 89 "cp852": "cp852_general_ci", 90 "latin7": "latin7_general_ci", 91 "utf8mb4": "utf8mb4_general_ci", 92 "cp1251": "cp1251_general_ci", 93 "utf16": "utf16_general_ci", 94 "utf16le": "utf16le_general_ci", 95 "cp1256": "cp1256_general_ci", 96 "cp1257": "cp1257_general_ci", 97 "utf32": "utf32_general_ci", 98 "binary": "binary", 99 "geostd8": "geostd8_general_ci", 100 "cp932": "cp932_japanese_ci", 101 "eucjpms": "eucjpms_japanese_ci", 102 } 103 104 // Collations maps MySQL default collation ID to its name. 105 var Collations = map[uint8]string{ 106 1: "big5_chinese_ci", 107 2: "latin2_czech_cs", 108 3: "dec8_swedish_ci", 109 4: "cp850_general_ci", 110 5: "latin1_german1_ci", 111 6: "hp8_english_ci", 112 7: "koi8r_general_ci", 113 8: "latin1_swedish_ci", 114 9: "latin2_general_ci", 115 10: "swe7_swedish_ci", 116 11: "ascii_general_ci", 117 12: "ujis_japanese_ci", 118 13: "sjis_japanese_ci", 119 14: "cp1251_bulgarian_ci", 120 15: "latin1_danish_ci", 121 16: "hebrew_general_ci", 122 18: "tis620_thai_ci", 123 19: "euckr_korean_ci", 124 20: "latin7_estonian_cs", 125 21: "latin2_hungarian_ci", 126 22: "koi8u_general_ci", 127 23: "cp1251_ukrainian_ci", 128 24: "gb2312_chinese_ci", 129 25: "greek_general_ci", 130 26: "cp1250_general_ci", 131 27: "latin2_croatian_ci", 132 28: "gbk_chinese_ci", 133 29: "cp1257_lithuanian_ci", 134 30: "latin5_turkish_ci", 135 31: "latin1_german2_ci", 136 32: "armscii8_general_ci", 137 33: "utf8_general_ci", 138 34: "cp1250_czech_cs", 139 35: "ucs2_general_ci", 140 36: "cp866_general_ci", 141 37: "keybcs2_general_ci", 142 38: "macce_general_ci", 143 39: "macroman_general_ci", 144 40: "cp852_general_ci", 145 41: "latin7_general_ci", 146 42: "latin7_general_cs", 147 43: "macce_bin", 148 44: "cp1250_croatian_ci", 149 45: "utf8mb4_general_ci", 150 46: "utf8mb4_bin", 151 47: "latin1_bin", 152 48: "latin1_general_ci", 153 49: "latin1_general_cs", 154 50: "cp1251_bin", 155 51: "cp1251_general_ci", 156 52: "cp1251_general_cs", 157 53: "macroman_bin", 158 54: "utf16_general_ci", 159 55: "utf16_bin", 160 56: "utf16le_general_ci", 161 57: "cp1256_general_ci", 162 58: "cp1257_bin", 163 59: "cp1257_general_ci", 164 60: "utf32_general_ci", 165 61: "utf32_bin", 166 62: "utf16le_bin", 167 63: "binary", 168 64: "armscii8_bin", 169 65: "ascii_bin", 170 66: "cp1250_bin", 171 67: "cp1256_bin", 172 68: "cp866_bin", 173 69: "dec8_bin", 174 70: "greek_bin", 175 71: "hebrew_bin", 176 72: "hp8_bin", 177 73: "keybcs2_bin", 178 74: "koi8r_bin", 179 75: "koi8u_bin", 180 77: "latin2_bin", 181 78: "latin5_bin", 182 79: "latin7_bin", 183 80: "cp850_bin", 184 81: "cp852_bin", 185 82: "swe7_bin", 186 83: "utf8_bin", 187 84: "big5_bin", 188 85: "euckr_bin", 189 86: "gb2312_bin", 190 87: "gbk_bin", 191 88: "sjis_bin", 192 89: "tis620_bin", 193 90: "ucs2_bin", 194 91: "ujis_bin", 195 92: "geostd8_general_ci", 196 93: "geostd8_bin", 197 94: "latin1_spanish_ci", 198 95: "cp932_japanese_ci", 199 96: "cp932_bin", 200 97: "eucjpms_japanese_ci", 201 98: "eucjpms_bin", 202 99: "cp1250_polish_ci", 203 101: "utf16_unicode_ci", 204 102: "utf16_icelandic_ci", 205 103: "utf16_latvian_ci", 206 104: "utf16_romanian_ci", 207 105: "utf16_slovenian_ci", 208 106: "utf16_polish_ci", 209 107: "utf16_estonian_ci", 210 108: "utf16_spanish_ci", 211 109: "utf16_swedish_ci", 212 110: "utf16_turkish_ci", 213 111: "utf16_czech_ci", 214 112: "utf16_danish_ci", 215 113: "utf16_lithuanian_ci", 216 114: "utf16_slovak_ci", 217 115: "utf16_spanish2_ci", 218 116: "utf16_roman_ci", 219 117: "utf16_persian_ci", 220 118: "utf16_esperanto_ci", 221 119: "utf16_hungarian_ci", 222 120: "utf16_sinhala_ci", 223 121: "utf16_german2_ci", 224 122: "utf16_croatian_ci", 225 123: "utf16_unicode_520_ci", 226 124: "utf16_vietnamese_ci", 227 128: "ucs2_unicode_ci", 228 129: "ucs2_icelandic_ci", 229 130: "ucs2_latvian_ci", 230 131: "ucs2_romanian_ci", 231 132: "ucs2_slovenian_ci", 232 133: "ucs2_polish_ci", 233 134: "ucs2_estonian_ci", 234 135: "ucs2_spanish_ci", 235 136: "ucs2_swedish_ci", 236 137: "ucs2_turkish_ci", 237 138: "ucs2_czech_ci", 238 139: "ucs2_danish_ci", 239 140: "ucs2_lithuanian_ci", 240 141: "ucs2_slovak_ci", 241 142: "ucs2_spanish2_ci", 242 143: "ucs2_roman_ci", 243 144: "ucs2_persian_ci", 244 145: "ucs2_esperanto_ci", 245 146: "ucs2_hungarian_ci", 246 147: "ucs2_sinhala_ci", 247 148: "ucs2_german2_ci", 248 149: "ucs2_croatian_ci", 249 150: "ucs2_unicode_520_ci", 250 151: "ucs2_vietnamese_ci", 251 159: "ucs2_general_mysql500_ci", 252 160: "utf32_unicode_ci", 253 161: "utf32_icelandic_ci", 254 162: "utf32_latvian_ci", 255 163: "utf32_romanian_ci", 256 164: "utf32_slovenian_ci", 257 165: "utf32_polish_ci", 258 166: "utf32_estonian_ci", 259 167: "utf32_spanish_ci", 260 168: "utf32_swedish_ci", 261 169: "utf32_turkish_ci", 262 170: "utf32_czech_ci", 263 171: "utf32_danish_ci", 264 172: "utf32_lithuanian_ci", 265 173: "utf32_slovak_ci", 266 174: "utf32_spanish2_ci", 267 175: "utf32_roman_ci", 268 176: "utf32_persian_ci", 269 177: "utf32_esperanto_ci", 270 178: "utf32_hungarian_ci", 271 179: "utf32_sinhala_ci", 272 180: "utf32_german2_ci", 273 181: "utf32_croatian_ci", 274 182: "utf32_unicode_520_ci", 275 183: "utf32_vietnamese_ci", 276 192: "utf8_unicode_ci", 277 193: "utf8_icelandic_ci", 278 194: "utf8_latvian_ci", 279 195: "utf8_romanian_ci", 280 196: "utf8_slovenian_ci", 281 197: "utf8_polish_ci", 282 198: "utf8_estonian_ci", 283 199: "utf8_spanish_ci", 284 200: "utf8_swedish_ci", 285 201: "utf8_turkish_ci", 286 202: "utf8_czech_ci", 287 203: "utf8_danish_ci", 288 204: "utf8_lithuanian_ci", 289 205: "utf8_slovak_ci", 290 206: "utf8_spanish2_ci", 291 207: "utf8_roman_ci", 292 208: "utf8_persian_ci", 293 209: "utf8_esperanto_ci", 294 210: "utf8_hungarian_ci", 295 211: "utf8_sinhala_ci", 296 212: "utf8_german2_ci", 297 213: "utf8_croatian_ci", 298 214: "utf8_unicode_520_ci", 299 215: "utf8_vietnamese_ci", 300 223: "utf8_general_mysql500_ci", 301 224: "utf8mb4_unicode_ci", 302 225: "utf8mb4_icelandic_ci", 303 226: "utf8mb4_latvian_ci", 304 227: "utf8mb4_romanian_ci", 305 228: "utf8mb4_slovenian_ci", 306 229: "utf8mb4_polish_ci", 307 230: "utf8mb4_estonian_ci", 308 231: "utf8mb4_spanish_ci", 309 232: "utf8mb4_swedish_ci", 310 233: "utf8mb4_turkish_ci", 311 234: "utf8mb4_czech_ci", 312 235: "utf8mb4_danish_ci", 313 236: "utf8mb4_lithuanian_ci", 314 237: "utf8mb4_slovak_ci", 315 238: "utf8mb4_spanish2_ci", 316 239: "utf8mb4_roman_ci", 317 240: "utf8mb4_persian_ci", 318 241: "utf8mb4_esperanto_ci", 319 242: "utf8mb4_hungarian_ci", 320 243: "utf8mb4_sinhala_ci", 321 244: "utf8mb4_german2_ci", 322 245: "utf8mb4_croatian_ci", 323 246: "utf8mb4_unicode_520_ci", 324 247: "utf8mb4_vietnamese_ci", 325 } 326 327 // CollationNames maps MySQL default collation name to its ID 328 var CollationNames = map[string]uint8{ 329 "big5_chinese_ci": 1, 330 "latin2_czech_cs": 2, 331 "dec8_swedish_ci": 3, 332 "cp850_general_ci": 4, 333 "latin1_german1_ci": 5, 334 "hp8_english_ci": 6, 335 "koi8r_general_ci": 7, 336 "latin1_swedish_ci": 8, 337 "latin2_general_ci": 9, 338 "swe7_swedish_ci": 10, 339 "ascii_general_ci": 11, 340 "ujis_japanese_ci": 12, 341 "sjis_japanese_ci": 13, 342 "cp1251_bulgarian_ci": 14, 343 "latin1_danish_ci": 15, 344 "hebrew_general_ci": 16, 345 "tis620_thai_ci": 18, 346 "euckr_korean_ci": 19, 347 "latin7_estonian_cs": 20, 348 "latin2_hungarian_ci": 21, 349 "koi8u_general_ci": 22, 350 "cp1251_ukrainian_ci": 23, 351 "gb2312_chinese_ci": 24, 352 "greek_general_ci": 25, 353 "cp1250_general_ci": 26, 354 "latin2_croatian_ci": 27, 355 "gbk_chinese_ci": 28, 356 "cp1257_lithuanian_ci": 29, 357 "latin5_turkish_ci": 30, 358 "latin1_german2_ci": 31, 359 "armscii8_general_ci": 32, 360 "utf8_general_ci": 33, 361 "cp1250_czech_cs": 34, 362 "ucs2_general_ci": 35, 363 "cp866_general_ci": 36, 364 "keybcs2_general_ci": 37, 365 "macce_general_ci": 38, 366 "macroman_general_ci": 39, 367 "cp852_general_ci": 40, 368 "latin7_general_ci": 41, 369 "latin7_general_cs": 42, 370 "macce_bin": 43, 371 "cp1250_croatian_ci": 44, 372 "utf8mb4_general_ci": 45, 373 "utf8mb4_bin": 46, 374 "latin1_bin": 47, 375 "latin1_general_ci": 48, 376 "latin1_general_cs": 49, 377 "cp1251_bin": 50, 378 "cp1251_general_ci": 51, 379 "cp1251_general_cs": 52, 380 "macroman_bin": 53, 381 "utf16_general_ci": 54, 382 "utf16_bin": 55, 383 "utf16le_general_ci": 56, 384 "cp1256_general_ci": 57, 385 "cp1257_bin": 58, 386 "cp1257_general_ci": 59, 387 "utf32_general_ci": 60, 388 "utf32_bin": 61, 389 "utf16le_bin": 62, 390 "binary": 63, 391 "armscii8_bin": 64, 392 "ascii_bin": 65, 393 "cp1250_bin": 66, 394 "cp1256_bin": 67, 395 "cp866_bin": 68, 396 "dec8_bin": 69, 397 "greek_bin": 70, 398 "hebrew_bin": 71, 399 "hp8_bin": 72, 400 "keybcs2_bin": 73, 401 "koi8r_bin": 74, 402 "koi8u_bin": 75, 403 "latin2_bin": 77, 404 "latin5_bin": 78, 405 "latin7_bin": 79, 406 "cp850_bin": 80, 407 "cp852_bin": 81, 408 "swe7_bin": 82, 409 "utf8_bin": 83, 410 "big5_bin": 84, 411 "euckr_bin": 85, 412 "gb2312_bin": 86, 413 "gbk_bin": 87, 414 "sjis_bin": 88, 415 "tis620_bin": 89, 416 "ucs2_bin": 90, 417 "ujis_bin": 91, 418 "geostd8_general_ci": 92, 419 "geostd8_bin": 93, 420 "latin1_spanish_ci": 94, 421 "cp932_japanese_ci": 95, 422 "cp932_bin": 96, 423 "eucjpms_japanese_ci": 97, 424 "eucjpms_bin": 98, 425 "cp1250_polish_ci": 99, 426 "utf16_unicode_ci": 101, 427 "utf16_icelandic_ci": 102, 428 "utf16_latvian_ci": 103, 429 "utf16_romanian_ci": 104, 430 "utf16_slovenian_ci": 105, 431 "utf16_polish_ci": 106, 432 "utf16_estonian_ci": 107, 433 "utf16_spanish_ci": 108, 434 "utf16_swedish_ci": 109, 435 "utf16_turkish_ci": 110, 436 "utf16_czech_ci": 111, 437 "utf16_danish_ci": 112, 438 "utf16_lithuanian_ci": 113, 439 "utf16_slovak_ci": 114, 440 "utf16_spanish2_ci": 115, 441 "utf16_roman_ci": 116, 442 "utf16_persian_ci": 117, 443 "utf16_esperanto_ci": 118, 444 "utf16_hungarian_ci": 119, 445 "utf16_sinhala_ci": 120, 446 "utf16_german2_ci": 121, 447 "utf16_croatian_ci": 122, 448 "utf16_unicode_520_ci": 123, 449 "utf16_vietnamese_ci": 124, 450 "ucs2_unicode_ci": 128, 451 "ucs2_icelandic_ci": 129, 452 "ucs2_latvian_ci": 130, 453 "ucs2_romanian_ci": 131, 454 "ucs2_slovenian_ci": 132, 455 "ucs2_polish_ci": 133, 456 "ucs2_estonian_ci": 134, 457 "ucs2_spanish_ci": 135, 458 "ucs2_swedish_ci": 136, 459 "ucs2_turkish_ci": 137, 460 "ucs2_czech_ci": 138, 461 "ucs2_danish_ci": 139, 462 "ucs2_lithuanian_ci": 140, 463 "ucs2_slovak_ci": 141, 464 "ucs2_spanish2_ci": 142, 465 "ucs2_roman_ci": 143, 466 "ucs2_persian_ci": 144, 467 "ucs2_esperanto_ci": 145, 468 "ucs2_hungarian_ci": 146, 469 "ucs2_sinhala_ci": 147, 470 "ucs2_german2_ci": 148, 471 "ucs2_croatian_ci": 149, 472 "ucs2_unicode_520_ci": 150, 473 "ucs2_vietnamese_ci": 151, 474 "ucs2_general_mysql500_ci": 159, 475 "utf32_unicode_ci": 160, 476 "utf32_icelandic_ci": 161, 477 "utf32_latvian_ci": 162, 478 "utf32_romanian_ci": 163, 479 "utf32_slovenian_ci": 164, 480 "utf32_polish_ci": 165, 481 "utf32_estonian_ci": 166, 482 "utf32_spanish_ci": 167, 483 "utf32_swedish_ci": 168, 484 "utf32_turkish_ci": 169, 485 "utf32_czech_ci": 170, 486 "utf32_danish_ci": 171, 487 "utf32_lithuanian_ci": 172, 488 "utf32_slovak_ci": 173, 489 "utf32_spanish2_ci": 174, 490 "utf32_roman_ci": 175, 491 "utf32_persian_ci": 176, 492 "utf32_esperanto_ci": 177, 493 "utf32_hungarian_ci": 178, 494 "utf32_sinhala_ci": 179, 495 "utf32_german2_ci": 180, 496 "utf32_croatian_ci": 181, 497 "utf32_unicode_520_ci": 182, 498 "utf32_vietnamese_ci": 183, 499 "utf8_unicode_ci": 192, 500 "utf8_icelandic_ci": 193, 501 "utf8_latvian_ci": 194, 502 "utf8_romanian_ci": 195, 503 "utf8_slovenian_ci": 196, 504 "utf8_polish_ci": 197, 505 "utf8_estonian_ci": 198, 506 "utf8_spanish_ci": 199, 507 "utf8_swedish_ci": 200, 508 "utf8_turkish_ci": 201, 509 "utf8_czech_ci": 202, 510 "utf8_danish_ci": 203, 511 "utf8_lithuanian_ci": 204, 512 "utf8_slovak_ci": 205, 513 "utf8_spanish2_ci": 206, 514 "utf8_roman_ci": 207, 515 "utf8_persian_ci": 208, 516 "utf8_esperanto_ci": 209, 517 "utf8_hungarian_ci": 210, 518 "utf8_sinhala_ci": 211, 519 "utf8_german2_ci": 212, 520 "utf8_croatian_ci": 213, 521 "utf8_unicode_520_ci": 214, 522 "utf8_vietnamese_ci": 215, 523 "utf8_general_mysql500_ci": 223, 524 "utf8mb4_unicode_ci": 224, 525 "utf8mb4_icelandic_ci": 225, 526 "utf8mb4_latvian_ci": 226, 527 "utf8mb4_romanian_ci": 227, 528 "utf8mb4_slovenian_ci": 228, 529 "utf8mb4_polish_ci": 229, 530 "utf8mb4_estonian_ci": 230, 531 "utf8mb4_spanish_ci": 231, 532 "utf8mb4_swedish_ci": 232, 533 "utf8mb4_turkish_ci": 233, 534 "utf8mb4_czech_ci": 234, 535 "utf8mb4_danish_ci": 235, 536 "utf8mb4_lithuanian_ci": 236, 537 "utf8mb4_slovak_ci": 237, 538 "utf8mb4_spanish2_ci": 238, 539 "utf8mb4_roman_ci": 239, 540 "utf8mb4_persian_ci": 240, 541 "utf8mb4_esperanto_ci": 241, 542 "utf8mb4_hungarian_ci": 242, 543 "utf8mb4_sinhala_ci": 243, 544 "utf8mb4_german2_ci": 244, 545 "utf8mb4_croatian_ci": 245, 546 "utf8mb4_unicode_520_ci": 246, 547 "utf8mb4_vietnamese_ci": 247, 548 } 549 550 // MySQL collation informations. 551 const ( 552 DefaultCharset = "utf8" 553 DefaultCollationID = 33 554 BinaryCollationID = 63 555 DefaultCollationName = "utf8_general_ci" 556 )