charset-def.c
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:7k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2000 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #include "mysys_priv.h"
  14. /*
  15.   Include all compiled character sets into the client
  16.   If a client don't want to use all of them, he can define his own
  17.   init_compiled_charsets() that only adds those that he wants
  18. */
  19. #ifdef HAVE_UCA_COLLATIONS
  20. #ifdef HAVE_CHARSET_ucs2
  21. extern CHARSET_INFO my_charset_ucs2_general_uca;
  22. extern CHARSET_INFO my_charset_ucs2_icelandic_uca_ci;
  23. extern CHARSET_INFO my_charset_ucs2_latvian_uca_ci;
  24. extern CHARSET_INFO my_charset_ucs2_romanian_uca_ci;
  25. extern CHARSET_INFO my_charset_ucs2_slovenian_uca_ci;
  26. extern CHARSET_INFO my_charset_ucs2_polish_uca_ci;
  27. extern CHARSET_INFO my_charset_ucs2_estonian_uca_ci;
  28. extern CHARSET_INFO my_charset_ucs2_spanish_uca_ci;
  29. extern CHARSET_INFO my_charset_ucs2_swedish_uca_ci;
  30. extern CHARSET_INFO my_charset_ucs2_turkish_uca_ci;
  31. extern CHARSET_INFO my_charset_ucs2_czech_uca_ci;
  32. extern CHARSET_INFO my_charset_ucs2_danish_uca_ci;
  33. extern CHARSET_INFO my_charset_ucs2_lithuanian_uca_ci;
  34. extern CHARSET_INFO my_charset_ucs2_slovak_uca_ci;
  35. extern CHARSET_INFO my_charset_ucs2_spanish2_uca_ci;
  36. extern CHARSET_INFO my_charset_ucs2_roman_uca_ci;
  37. extern CHARSET_INFO my_charset_ucs2_persian_uca_ci;
  38. #endif
  39. #ifdef HAVE_CHARSET_utf8
  40. extern CHARSET_INFO my_charset_utf8_general_uca_ci;
  41. extern CHARSET_INFO my_charset_utf8_icelandic_uca_ci;
  42. extern CHARSET_INFO my_charset_utf8_latvian_uca_ci;
  43. extern CHARSET_INFO my_charset_utf8_romanian_uca_ci;
  44. extern CHARSET_INFO my_charset_utf8_slovenian_uca_ci;
  45. extern CHARSET_INFO my_charset_utf8_polish_uca_ci;
  46. extern CHARSET_INFO my_charset_utf8_estonian_uca_ci;
  47. extern CHARSET_INFO my_charset_utf8_spanish_uca_ci;
  48. extern CHARSET_INFO my_charset_utf8_swedish_uca_ci;
  49. extern CHARSET_INFO my_charset_utf8_turkish_uca_ci;
  50. extern CHARSET_INFO my_charset_utf8_czech_uca_ci;
  51. extern CHARSET_INFO my_charset_utf8_danish_uca_ci;
  52. extern CHARSET_INFO my_charset_utf8_lithuanian_uca_ci;
  53. extern CHARSET_INFO my_charset_utf8_slovak_uca_ci;
  54. extern CHARSET_INFO my_charset_utf8_spanish2_uca_ci;
  55. extern CHARSET_INFO my_charset_utf8_roman_uca_ci;
  56. extern CHARSET_INFO my_charset_utf8_persian_uca_ci;
  57. #ifdef HAVE_UTF8_GENERAL_CS
  58. extern CHARSET_INFO my_charset_utf8_general_cs;
  59. #endif
  60. #endif
  61. #endif /* HAVE_UCA_COLLATIONS */
  62. my_bool init_compiled_charsets(myf flags __attribute__((unused)))
  63. {
  64.   CHARSET_INFO *cs;
  65.   add_compiled_collation(&my_charset_bin);
  66.   
  67.   add_compiled_collation(&my_charset_latin1);
  68.   add_compiled_collation(&my_charset_latin1_bin);
  69.   add_compiled_collation(&my_charset_latin1_german2_ci);
  70. #ifdef HAVE_CHARSET_big5
  71.   add_compiled_collation(&my_charset_big5_chinese_ci);
  72.   add_compiled_collation(&my_charset_big5_bin);
  73. #endif
  74. #ifdef HAVE_CHARSET_cp1250
  75.   add_compiled_collation(&my_charset_cp1250_czech_ci);
  76. #endif
  77. #ifdef HAVE_CHARSET_cp932
  78.   add_compiled_collation(&my_charset_cp932_japanese_ci);
  79.   add_compiled_collation(&my_charset_cp932_bin);
  80. #endif
  81. #ifdef HAVE_CHARSET_latin2
  82.   add_compiled_collation(&my_charset_latin2_czech_ci);
  83. #endif
  84. #ifdef HAVE_CHARSET_euckr
  85.   add_compiled_collation(&my_charset_euckr_korean_ci);
  86.   add_compiled_collation(&my_charset_euckr_bin);
  87. #endif
  88. #ifdef HAVE_CHARSET_gb2312
  89.   add_compiled_collation(&my_charset_gb2312_chinese_ci);
  90.   add_compiled_collation(&my_charset_gb2312_bin);
  91. #endif
  92. #ifdef HAVE_CHARSET_gbk
  93.   add_compiled_collation(&my_charset_gbk_chinese_ci);
  94.   add_compiled_collation(&my_charset_gbk_bin);
  95. #endif
  96. #ifdef HAVE_CHARSET_sjis
  97.   add_compiled_collation(&my_charset_sjis_japanese_ci);
  98.   add_compiled_collation(&my_charset_sjis_bin);
  99. #endif
  100. #ifdef HAVE_CHARSET_tis620
  101.   add_compiled_collation(&my_charset_tis620_thai_ci);
  102.   add_compiled_collation(&my_charset_tis620_bin);
  103. #endif
  104. #ifdef HAVE_CHARSET_ucs2
  105.   add_compiled_collation(&my_charset_ucs2_general_ci);
  106.   add_compiled_collation(&my_charset_ucs2_bin);
  107. #ifdef HAVE_UCA_COLLATIONS
  108.   add_compiled_collation(&my_charset_ucs2_general_uca);
  109.   add_compiled_collation(&my_charset_ucs2_icelandic_uca_ci);
  110.   add_compiled_collation(&my_charset_ucs2_latvian_uca_ci);
  111.   add_compiled_collation(&my_charset_ucs2_romanian_uca_ci);
  112.   add_compiled_collation(&my_charset_ucs2_slovenian_uca_ci);
  113.   add_compiled_collation(&my_charset_ucs2_polish_uca_ci);
  114.   add_compiled_collation(&my_charset_ucs2_estonian_uca_ci);
  115.   add_compiled_collation(&my_charset_ucs2_spanish_uca_ci);
  116.   add_compiled_collation(&my_charset_ucs2_swedish_uca_ci);
  117.   add_compiled_collation(&my_charset_ucs2_turkish_uca_ci);
  118.   add_compiled_collation(&my_charset_ucs2_czech_uca_ci);
  119.   add_compiled_collation(&my_charset_ucs2_danish_uca_ci);
  120.   add_compiled_collation(&my_charset_ucs2_lithuanian_uca_ci);
  121.   add_compiled_collation(&my_charset_ucs2_slovak_uca_ci);
  122.   add_compiled_collation(&my_charset_ucs2_spanish2_uca_ci);
  123.   add_compiled_collation(&my_charset_ucs2_roman_uca_ci);
  124.   add_compiled_collation(&my_charset_ucs2_persian_uca_ci);
  125. #endif
  126. #endif
  127. #ifdef HAVE_CHARSET_ujis
  128.   add_compiled_collation(&my_charset_ujis_japanese_ci);
  129.   add_compiled_collation(&my_charset_ujis_bin);
  130. #endif
  131. #ifdef HAVE_CHARSET_utf8
  132.   add_compiled_collation(&my_charset_utf8_general_ci);
  133.   add_compiled_collation(&my_charset_utf8_bin);
  134. #ifdef HAVE_UTF8_GENERAL_CS
  135.   add_compiled_collation(&my_charset_utf8_general_cs);
  136. #endif
  137. #ifdef HAVE_UCA_COLLATIONS
  138.   add_compiled_collation(&my_charset_utf8_general_uca_ci);
  139.   add_compiled_collation(&my_charset_utf8_icelandic_uca_ci);
  140.   add_compiled_collation(&my_charset_utf8_latvian_uca_ci);
  141.   add_compiled_collation(&my_charset_utf8_romanian_uca_ci);
  142.   add_compiled_collation(&my_charset_utf8_slovenian_uca_ci);
  143.   add_compiled_collation(&my_charset_utf8_polish_uca_ci);
  144.   add_compiled_collation(&my_charset_utf8_estonian_uca_ci);
  145.   add_compiled_collation(&my_charset_utf8_spanish_uca_ci);
  146.   add_compiled_collation(&my_charset_utf8_swedish_uca_ci);
  147.   add_compiled_collation(&my_charset_utf8_turkish_uca_ci);
  148.   add_compiled_collation(&my_charset_utf8_czech_uca_ci);
  149.   add_compiled_collation(&my_charset_utf8_danish_uca_ci);
  150.   add_compiled_collation(&my_charset_utf8_lithuanian_uca_ci);
  151.   add_compiled_collation(&my_charset_utf8_slovak_uca_ci);
  152.   add_compiled_collation(&my_charset_utf8_spanish2_uca_ci);
  153.   add_compiled_collation(&my_charset_utf8_roman_uca_ci);
  154.   add_compiled_collation(&my_charset_utf8_persian_uca_ci);
  155. #endif
  156. #endif
  157.   /* Copy compiled charsets */
  158.   for (cs=compiled_charsets; cs->name; cs++)
  159.     add_compiled_collation(cs);
  160.   
  161.   return FALSE;
  162. }