Page 1 sur 1

Détecter caractères japonais

Posté : 09 mai 2009, 12:55
par Djay
Bonjour,

J'aimerais savoir comment détecter la présence de caractères japonais dans une chaine ?
J'ai fait plusieurs essais, dont celui-ci

Code : Tout sélectionner

$test = "正则例子"; var_dump(mb_ereg("/[\u4e00-\u9fa5]/", $test) );
Et cela retourne FALSE (par contre c'est du chinois). Avec u4e00 -> u9fa5 qui représente normalement tous les caractères chinois. (Je connais pas ceux du japonais).

Si quelqu'un a des infos sur la détection des caractères "étrangers".

Merci d'avance
Djay

Posté : 09 mai 2009, 14:58
par @rthur
Bonjour,

Une recherche Google m'a permis de trouver cela pour les caractères Japonais :
Japanese Hiragana : U3040 - U309F
Japanese Katakana : U30A0 - U30FF

Posté : 09 mai 2009, 15:09
par Calimero
Bonjour,

Une recherche Google m'a permis de trouver cela pour les caractères Japonais :
Japanese Hiragana : U3040 - U309F
Japanese Katakana : U30A0 - U30FF
Ajouté à l'ensemble chinois, ça devrait couvrir tout le panel des 3 syllabaires japonaises.

Posté : 09 mai 2009, 15:12
par Invité
Bonjour,

Le problème ne vient pas directement que je ne connaissait pas les valeurs des caractères japonais mais que le mb_ereg n'a pas l'air de fonctionner pour les caractères éxotiques (j'ai testé aussi avec le japonais et les valeurs que tu as trouvé, sans résultat: return FALSE)

Pour le japonais :

Code : Tout sélectionner

$titi = "ア州の山火事 荒れ狂"; var_dump(mb_ereg("/[\U3040-\U309F]/", $titi) );

Posté : 09 mai 2009, 18:16
par Nagol
compares des chaines base64_encodé quand il s'agit de charset y'a à peu pret que ca qui te permettra d'arriver à un résultat stable