Nå, lad os starte med en tabel, jeg sætter ind her . Der står for eksempel, at E381yy er utf8-kodningen for Hiragana, og E383yy er Katakana (japansk). (Kanji er en anden sag.)
For at se, om en utf8-kolonne indeholder Katakana, skal du gøre noget lignende
WHERE HEX(col) REGEXP '^(..)*E383'
Kyrillisk kan være
WHERE HEX(col) REGEXP '^(..)*D[0-4]'
Kinesisk er lidt tricky, men det kan normalt arbejde for kinesisk (og Kanji?):
WHERE HEX(col) REGEXP '^(..)*E[4-9A]'
(Jeg vil ændre din titel for at undgå søgeordet 'tegnsæt'.)
Vesteuropa (herunder, men ikke begrænset til, fransk) C[23]
, tyrkisk (ca. og nogle andre) (C4|C59)
, græsk:C[EF]
, hebraisk:D[67]
, indisk osv.:E0
, arabisk/farsi/persisk/urdu:D[89AB]
. (Altid præfiks med ^(..)*
.
Du bemærker måske, at disse ikke nødvendigvis er meget specifikke. Dette er på grund af overlapninger. Britisk engelsk og amerikansk engelsk kan ikke skelnes undtagen ved at stave nogle få ord. Flere bogstaver med accent deles på forskellige måder i Europa. Indien har mange forskellige karaktersæt:Devanagari, Bengali, Gurmukhi, Gujarati osv.; disse er sandsynligvis skelnelige, men det ville kræve mere forskning. Jeg tror, at arabisk/farsi/persisk/urdu deler ét tegnsæt.
Lidt mere:
| SAMARITAN | E0A080 | E0A0BE |
| DEVANAGARI | E0A480 | E0A5BF |
| BENGALI | E0A681 | E0A7BB |
| GURMUKHI | E0A881 | E0A9B5 |
| GUJARATI | E0AA81 | E0ABB1 |
| ORIYA | E0AC81 | E0ADB1 |
| TAMIL | E0AE82 | E0AFBA |
| TELUGU | E0B081 | E0B1BF |
| KANNADA | E0B282 | E0B3B2 |
| MALAYALAM | E0B482 | E0B5BF |
| SINHALA | E0B682 | E0B7B4 |
| THAI | E0B881 | E0B99B |
| LAO | E0BA81 | E0BB9D |
| TIBETAN | E0BC80 | E0BF94 |
Så for DEVANAGARI, '^(..)*E0A[45]'