Skip to content

Commit f826ea0

Browse files
committed
new charsets
1 parent 4662151 commit f826ea0

File tree

1 file changed

+56
-19
lines changed

1 file changed

+56
-19
lines changed

ext/mysqlnd/mysqlnd_charset.c

Lines changed: 56 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -449,20 +449,27 @@ const MYSQLND_CHARSET mysqlnd_charsets[] =
449449
{ 6, "hp8", "hp8_english_ci", 1, 1, "", NULL, NULL},
450450
{ 7, "koi8r", "koi8r_general_ci", 1, 1, "", NULL, NULL},
451451
{ 8, "latin1", "latin1_swedish_ci", 1, 1, "", NULL, NULL},
452+
{ 5, "latin1", "latin1_german_ci", 1, 1, "", NULL, NULL}, /* should be after 0x9 because swedish_ci is the default collation */
452453
{ 9, "latin2", "latin2_general_ci", 1, 1, "", NULL, NULL},
454+
{ 2, "latin2", "latin2_czech_cs", 1, 1, "", NULL, NULL}, /* should be after 0x9 because general_ci is the default collation */
453455
{ 10, "swe7", "swe7_swedish_ci", 1, 1, "", NULL, NULL},
454456
{ 11, "ascii", "ascii_general_ci", 1, 1, "", NULL, NULL},
455457
{ 12, "ujis", "ujis_japanese_ci", 1, 3, "", mysqlnd_mbcharlen_ujis, check_mb_ujis},
456458
{ 13, "sjis", "sjis_japanese_ci", 1, 2, "", mysqlnd_mbcharlen_sjis, check_mb_sjis},
457459
{ 16, "hebrew", "hebrew_general_ci", 1, 1, "", NULL, NULL},
460+
{ 17, "filename", "filename", 1, 5, "", NULL, NULL},
458461
{ 18, "tis620", "tis620_thai_ci", 1, 1, "", NULL, NULL},
459462
{ 19, "euckr", "euckr_korean_ci", 1, 2, "", mysqlnd_mbcharlen_euckr, check_mb_euckr},
463+
{ 21, "latin2", "latin2_hungarian_ci", 1, 1, "", NULL, NULL},
464+
{ 27, "latin2", "latin2_croatian_ci", 1, 1, "", NULL, NULL},
460465
{ 22, "koi8u", "koi8u_general_ci", 1, 1, "", NULL, NULL},
461466
{ 24, "gb2312", "gb2312_chinese_ci", 1, 2, "", mysqlnd_mbcharlen_gb2312, check_mb_gb2312},
462467
{ 25, "greek", "greek_general_ci", 1, 1, "", NULL, NULL},
463468
{ 26, "cp1250", "cp1250_general_ci", 1, 1, "", NULL, NULL},
464469
{ 28, "gbk", "gbk_chinese_ci", 1, 2, "", mysqlnd_mbcharlen_gbk, check_mb_gbk},
465470
{ 30, "latin5", "latin5_turkish_ci", 1, 1, "", NULL, NULL},
471+
{ 31, "latin1", "latin1_german2_ci", 1, 1, "", NULL, NULL},
472+
{ 15, "latin1", "latin1_danish_ci", 1, 1, "", NULL, NULL},
466473
{ 32, "armscii8", "armscii8_general_ci", 1, 1, "", NULL, NULL},
467474
{ 33, UTF8_MB3, UTF8_MB3"_general_ci", 1, 3, "UTF-8 Unicode", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
468475
{ 35, "ucs2", "ucs2_general_ci", 2, 2, "UCS-2 Unicode", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
@@ -472,22 +479,11 @@ const MYSQLND_CHARSET mysqlnd_charsets[] =
472479
{ 39, "macroman", "macroman_general_ci", 1, 1, "", NULL, NULL},
473480
{ 40, "cp852", "cp852_general_ci", 1, 1, "", NULL, NULL},
474481
{ 41, "latin7", "latin7_general_ci", 1, 1, "", NULL, NULL},
475-
{ 51, "cp1251", "cp1251_general_ci", 1, 1, "", NULL, NULL},
482+
{ 20, "latin7", "latin7_estonian_cs", 1, 1, "", NULL, NULL},
476483
{ 57, "cp1256", "cp1256_general_ci", 1, 1, "", NULL, NULL},
477484
{ 59, "cp1257", "cp1257_general_ci", 1, 1, "", NULL, NULL},
478485
{ 63, "binary", "binary", 1, 1, "", NULL, NULL},
479-
{ 92, "geostd8", "geostd8_general_ci", 1, 1, "", NULL, NULL},
480-
{ 95, "cp932", "cp932_japanese_ci", 1, 2, "", mysqlnd_mbcharlen_cp932, check_mb_cp932},
481486
{ 97, "eucjpms", "eucjpms_japanese_ci", 1, 3, "", mysqlnd_mbcharlen_eucjpms, check_mb_eucjpms},
482-
{ 2, "latin2", "latin2_czech_cs", 1, 1, "", NULL, NULL},
483-
{ 5, "latin1", "latin1_german_ci", 1, 1, "", NULL, NULL},
484-
{ 14, "cp1251", "cp1251_bulgarian_ci", 1, 1, "", NULL, NULL},
485-
{ 15, "latin1", "latin1_danish_ci", 1, 1, "", NULL, NULL},
486-
{ 17, "filename", "filename", 1, 5, "", NULL, NULL},
487-
{ 20, "latin7", "latin7_estonian_cs", 1, 1, "", NULL, NULL},
488-
{ 21, "latin2", "latin2_hungarian_ci", 1, 1, "", NULL, NULL},
489-
{ 23, "cp1251", "cp1251_ukrainian_ci", 1, 1, "", NULL, NULL},
490-
{ 27, "latin2", "latin2_croatian_ci", 1, 1, "", NULL, NULL},
491487
{ 29, "cp1257", "cp1257_lithunian_ci", 1, 1, "", NULL, NULL},
492488
{ 31, "latin1", "latin1_german2_ci", 1, 1, "", NULL, NULL},
493489
{ 34, "cp1250", "cp1250_czech_cs", 1, 1, "", NULL, NULL},
@@ -499,6 +495,9 @@ const MYSQLND_CHARSET mysqlnd_charsets[] =
499495
{ 47, "latin1", "latin1_bin", 1, 1, "", NULL, NULL},
500496
{ 48, "latin1", "latin1_general_ci", 1, 1, "", NULL, NULL},
501497
{ 49, "latin1", "latin1_general_cs", 1, 1, "", NULL, NULL},
498+
{ 51, "cp1251", "cp1251_general_ci", 1, 1, "", NULL, NULL},
499+
{ 14, "cp1251", "cp1251_bulgarian_ci", 1, 1, "", NULL, NULL},
500+
{ 23, "cp1251", "cp1251_ukrainian_ci", 1, 1, "", NULL, NULL},
502501
{ 50, "cp1251", "cp1251_bin", 1, 1, "", NULL, NULL},
503502
{ 52, "cp1251", "cp1251_general_cs", 1, 1, "", NULL, NULL},
504503
{ 53, "macroman", "macroman_bin", 1, 1, "", NULL, NULL},
@@ -508,8 +507,8 @@ const MYSQLND_CHARSET mysqlnd_charsets[] =
508507
#ifdef USED_TO_BE_SO_BEFORE_MYSQL_5_5
509508
{ 60, "armascii8", "armascii8_bin", 1, 1, "", NULL, NULL},
510509
#endif
511-
{ 60, "utf32", "utf32_general_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
512-
{ 61, "utf32", "utf32_bin", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
510+
/*55*/{ 60, "utf32", "utf32_general_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
511+
/*55*/{ 61, "utf32", "utf32_bin", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
513512
{ 65, "ascii", "ascii_bin", 1, 1, "", NULL, NULL},
514513
{ 66, "cp1250", "cp1250_bin", 1, 1, "", NULL, NULL},
515514
{ 67, "cp1256", "cp1256_bin", 1, 1, "", NULL, NULL},
@@ -527,7 +526,6 @@ const MYSQLND_CHARSET mysqlnd_charsets[] =
527526
{ 80, "cp850", "cp850_bin", 1, 1, "", NULL, NULL},
528527
{ 81, "cp852", "cp852_bin", 1, 1, "", NULL, NULL},
529528
{ 82, "swe7", "swe7_bin", 1, 1, "", NULL, NULL},
530-
{ 93, "geostd8", "geostd8_bin", 1, 1, "", NULL, NULL},
531529
{ 83, UTF8_MB3, UTF8_MB3"_bin", 1, 3, "UTF-8 Unicode", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
532530
{ 84, "big5", "big5_bin", 1, 2, "", mysqlnd_mbcharlen_big5, check_mb_big5},
533531
{ 85, "euckr", "euckr_bin", 1, 2, "", mysqlnd_mbcharlen_euckr, check_mb_euckr},
@@ -537,10 +535,14 @@ const MYSQLND_CHARSET mysqlnd_charsets[] =
537535
{ 89, "tis620", "tis620_bin", 1, 1, "", NULL, NULL},
538536
{ 90, "ucs2", "ucs2_bin", 2, 2, "UCS-2 Unicode", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
539537
{ 91, "ujis", "ujis_bin", 1, 3, "", mysqlnd_mbcharlen_ujis, check_mb_ujis},
538+
{ 92, "geostd8", "geostd8_general_ci", 1, 1, "", NULL, NULL},
539+
{ 93, "geostd8", "geostd8_bin", 1, 1, "", NULL, NULL},
540540
{ 94, "latin1", "latin1_spanish_ci", 1, 1, "", NULL, NULL},
541+
{ 95, "cp932", "cp932_japanese_ci", 1, 2, "", mysqlnd_mbcharlen_cp932, check_mb_cp932},
541542
{ 96, "cp932", "cp932_bin", 1, 2, "", mysqlnd_mbcharlen_cp932, check_mb_cp932},
542-
{ 99, "cp1250", "cp1250_polish_ci", 1, 1, "", NULL, NULL},
543+
{ 97, "eucjpms", "eucjpms_japanese_ci", 1, 3, "", mysqlnd_mbcharlen_eucjpms, check_mb_eucjpms},
543544
{ 98, "eucjpms", "eucjpms_bin", 1, 3, "", mysqlnd_mbcharlen_eucjpms, check_mb_eucjpms},
545+
{ 99, "cp1250", "cp1250_polish_ci", 1, 1, "", NULL, NULL},
544546
{ 128, "ucs2", "ucs2_unicode_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
545547
{ 129, "ucs2", "ucs2_icelandic_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
546548
{ 130, "ucs2", "ucs2_latvian_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
@@ -561,7 +563,35 @@ const MYSQLND_CHARSET mysqlnd_charsets[] =
561563
{ 145, "ucs2", "ucs2_esperanto_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
562564
{ 146, "ucs2", "ucs2_hungarian_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
563565
{ 147, "ucs2", "ucs2_sinhala_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
564-
{ 149, "ucs2", "ucs2_croatian_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2}, /* MDB */
566+
{ 148, "ucs2", "ucs2_german2_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
567+
{ 149, "ucs2", "ucs2_croatian_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
568+
{ 150, "ucs2", "ucs2_unicode_520_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
569+
{ 151, "ucs2", "ucs2_vietnamese_ci", 2, 2, "", mysqlnd_mbcharlen_ucs2, check_mb_ucs2},
570+
571+
/*56*/{160, "utf32", "utf32_unicode_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
572+
/*56*/{161, "utf32", "utf32_icelandic_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
573+
/*56*/{162, "utf32", "utf32_latvian_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
574+
/*56*/{163, "utf32", "utf32_romanian_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
575+
/*56*/{164, "utf32", "utf32_slovenian_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
576+
/*56*/{165, "utf32", "utf32_polish_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
577+
/*56*/{166, "utf32", "utf32_estonian_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
578+
/*56*/{167, "utf32", "utf32_spanish_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
579+
/*56*/{168, "utf32", "utf32_swedish_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
580+
/*56*/{169, "utf32", "utf32_turkish_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
581+
/*56*/{170, "utf32", "utf32_czech_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
582+
/*56*/{171, "utf32", "utf32_danish_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
583+
/*56*/{172, "utf32", "utf32_lithuanian_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
584+
/*56*/{173, "utf32", "utf32_slovak_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
585+
/*56*/{174, "utf32", "utf32_spanish2_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
586+
/*56*/{175, "utf32", "utf32_roman_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
587+
/*56*/{176, "utf32", "utf32_persian_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
588+
/*56*/{177, "utf32", "utf32_esperanto_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
589+
/*56*/{178, "utf32", "utf32_hungarian_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
590+
/*56*/{179, "utf32", "utf32_sinhala_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
591+
/*56*/{180, "utf32", "utf32_german2_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
592+
/*56*/{181, "utf32", "utf32_croatian_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
593+
/*56*/{182, "utf32", "utf32_unicode_520_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
594+
/*56*/{183, "utf32", "utf32_vietnamese_ci", 4, 4, "UTF-32 Unicode", mysqlnd_mbcharlen_utf32, check_mb_utf32},
565595

566596
{ 192, UTF8_MB3, UTF8_MB3"_general_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
567597
{ 193, UTF8_MB3, UTF8_MB3"_icelandic_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
@@ -570,7 +600,7 @@ const MYSQLND_CHARSET mysqlnd_charsets[] =
570600
{ 196, UTF8_MB3, UTF8_MB3"_slovenian_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
571601
{ 197, UTF8_MB3, UTF8_MB3"_polish_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
572602
{ 198, UTF8_MB3, UTF8_MB3"_estonian_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
573-
{ 119, UTF8_MB3, UTF8_MB3"_spanish_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
603+
{ 199, UTF8_MB3, UTF8_MB3"_spanish_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
574604
{ 200, UTF8_MB3, UTF8_MB3"_swedish_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
575605
{ 201, UTF8_MB3, UTF8_MB3"_turkish_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
576606
{ 202, UTF8_MB3, UTF8_MB3"_czech_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
@@ -583,7 +613,10 @@ const MYSQLND_CHARSET mysqlnd_charsets[] =
583613
{ 209, UTF8_MB3, UTF8_MB3"_esperanto_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
584614
{ 210, UTF8_MB3, UTF8_MB3"_hungarian_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
585615
{ 211, UTF8_MB3, UTF8_MB3"_sinhala_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
586-
{ 213, UTF8_MB3, UTF8_MB3"_croatian_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid}, /*MDB*/
616+
{ 211, UTF8_MB3, UTF8_MB3"_german2_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
617+
{ 213, UTF8_MB3, UTF8_MB3"_croatian_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
618+
{ 214, UTF8_MB3, UTF8_MB3"_unicode_520_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
619+
{ 215, UTF8_MB3, UTF8_MB3"_vietnamese_ci", 1, 3, "", mysqlnd_mbcharlen_utf8mb3, check_mb_utf8mb3_valid},
587620

588621
{ 224, UTF8_MB4, UTF8_MB4"_unicode_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid},
589622
{ 225, UTF8_MB4, UTF8_MB4"_icelandic_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid},
@@ -605,6 +638,10 @@ const MYSQLND_CHARSET mysqlnd_charsets[] =
605638
{ 241, UTF8_MB4, UTF8_MB4"_esperanto_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid},
606639
{ 242, UTF8_MB4, UTF8_MB4"_hungarian_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid},
607640
{ 243, UTF8_MB4, UTF8_MB4"_sinhala_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid},
641+
{ 244, UTF8_MB4, UTF8_MB4"_german2_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid},
642+
{ 245, UTF8_MB4, UTF8_MB4"_croatian_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid},
643+
{ 246, UTF8_MB4, UTF8_MB4"_unicode_520_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid},
644+
{ 247, UTF8_MB4, UTF8_MB4"_vietnamese_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid},
608645

609646
{ 254, UTF8_MB3, UTF8_MB3"_general_cs", 1, 3, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid},
610647
{ 0, NULL, NULL, 0, 0, NULL, NULL, NULL}

0 commit comments

Comments
 (0)