No, začněme tabulkou, kterou jsem vložil zde . Říká například, že E381yy je kódování utf8 pro Hiragana a E383yy je Katakana (japonsky). (Kanji je jiná věc.)
Chcete-li zjistit, zda sloupec utf8 obsahuje Katakana, udělejte něco jako
WHERE HEX(col) REGEXP '^(..)*E383'
Cyrilice může být
WHERE HEX(col) REGEXP '^(..)*D[0-4]'
Čínština je trochu složitější, ale může to být obvykle práce pro Číňany (a Kanji?):
WHERE HEX(col) REGEXP '^(..)*E[4-9A]'
(Chystám se změnit váš Titulek, abych se vyhnul klíčovému slovu 'znaková sada'.)
Západní Evropa (včetně, ale nikoli výhradně, francouzštiny) C[23]
, turečtina (přibližně a některé další) (C4|C59)
, řečtina:C[EF]
, hebrejština:D[67]
, indická atd.:E0
, arabština/farsí/perština/urdština:D[89AB]
. (Vždy předponu ^(..)*
.
Můžete si všimnout, že tyto nemusí být nutně příliš konkrétní. Je to kvůli překryvům. Britskou angličtinu a americkou angličtinu nelze rozlišit jinak než hláskováním několika slov. Několik písmen s diakritikou je v Evropě sdíleno různými způsoby. Indie má mnoho různých znakových sad:dévanágarí, bengálština, gurmukhí, gudžarátština atd.; tyto jsou pravděpodobně rozlišitelné, ale chtělo by to více výzkumu. Myslím, že arabština/farsí/perština/urdština sdílí jednu znakovou sadu.
Ještě něco:
| 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 |
Takže pro DEVANAGARI:'^(..)*E0A[45]'