Baiklah, mari kita mulai dengan tabel yang saya masukkan di sini . Dikatakan, misalnya, bahwa E381yy adalah pengkodean utf8 untuk Hiragana dan E383yy adalah Katakana (Jepang). (Kanji adalah masalah lain.)
Untuk melihat apakah kolom utf8 berisi Katakana, lakukan sesuatu seperti
WHERE HEX(col) REGEXP '^(..)*E383'
Sirilik mungkin
WHERE HEX(col) REGEXP '^(..)*D[0-4]'
Bahasa Cina agak rumit, tapi ini mungkin biasanya bekerja untuk bahasa Cina (dan Kanji?):
WHERE HEX(col) REGEXP '^(..)*E[4-9A]'
(Saya akan mengubah Judul Anda untuk menghindari kata kunci 'set karakter'.)
Eropa Barat (termasuk, namun tidak terbatas pada, Prancis) C[23]
, Turki (kira-kira, dan beberapa lainnya) (C4|C59)
, Yunani:C[EF]
, Ibrani:D[67]
, India, dll:E0
, Arab/Farsi/Persia/Urdu:D[89AB]
. (Selalu awalan dengan ^(..)*
.
Anda mungkin memperhatikan bahwa ini belum tentu sangat spesifik. Ini karena tumpang tindih. Bahasa Inggris British dan Bahasa Inggris Amerika tidak dapat dibedakan kecuali dengan ejaan beberapa kata. Beberapa huruf beraksen dibagikan dalam berbagai cara di Eropa. India memiliki banyak set karakter yang berbeda:Devanagari, Bengali, Gurmukhi, Gujarati, dll.; ini mungkin dapat dibedakan, tetapi akan membutuhkan lebih banyak penelitian. Saya rasa bahasa Arab/Farsi/Persia/Urdu memiliki satu set karakter.
Beberapa lagi:
| 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 |
Jadi, untuk DEVANAGARI, '^(..)*E0A[45]'