Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да идентифицирате език в utf-8 колона в MySQL

Е, нека започнем с таблица, която поставих в тук . Пише, например, че E381yy е utf8 кодирането за Hiragana, а E383yy е Katakana (японски). (Канджи е друг въпрос.)

За да видите дали колона utf8 съдържа Katakana, направете нещо като

КЪДЕ HEX(col) REGEXP '^(..)*E383' 

Кирилица може да е

КЪДЕ HEX(col) REGEXP '^(..)*D[0-4]' 

Китайският е малко сложен, но това може обикновено работа за китайски (и канджи?):

КЪДЕ HEX(col) REGEXP '^(..)*E[4-9A]' 

(Ще променя заглавието ви, за да избегна ключовата дума „набор от знаци“.)

Западна Европа (включително, но не само, френски) C[23] , турски (приблизително и някои други) (C4|C59) , гръцки:C[EF] , иврит:D[67] , индийски и т.н.:E0 , арабски/фарси/персийски/урду:D[89AB] . (Винаги поставяйте префикс с ^(..)* .

Може да забележите, че те не са непременно много специфични. Това се дължи на припокривания. Британски английски и американски английски не могат да бъдат разграничени освен по правопис на няколко думи. Няколко ударени букви се споделят по различни начини в Европа. Индия има много различни набори от знаци:деванагари, бенгалски, гурмукхи, гуджарати и др.; те вероятно са различими, но ще са необходими повече изследвания. Мисля, че арабски/фарси/персийски/урду споделят един набор от знаци.

Още малко:

<предварителен код>| САМАРИТАНСКИ | E0A080 | E0A0BE || ДЕВАНАГАРИ | E0A480 | E0A5BF || БЕНГАЛИ | E0A681 | E0A7BB || GURMUKHI | E0A881 | E0A9B5 || ГУДЖАРАТИ | E0AA81 | E0ABB1 || ОРИЯ | E0AC81 | E0ADB1 || ТАМИЛски | E0AE82 | E0AFBA || ТЕЛУГУ | E0B081 | E0B1BF || КАНАДА | E0B282 | E0B3B2 || МАЛАЯЛАМ | E0B482 | E0B5BF || SINHALA | E0B682 | E0B7B4 || ТАЙСКИ | E0B881 | E0B99B || LAO | E0BA81 | E0BB9D || ТИБЕТСКИ | E0BC80 | E0BF94 |

И така, за DEVANAGARI, '^(..)*E0A[45]'




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL LEFT JOIN Множество условия

  2. Може ли MySqlBulkLoader да се използва с транзакция?

  3. Как мога да задам максимален брой редове в MySQL таблицата?

  4. MYSQL auto_increment_increment

  5. Имате нужда от практично решение за създаване на база данни с шаблони (5-5-5) за 15-Puzzle