Page 1 sur 1

unicode ett caracteres chinois

Posté : 14 sept. 2011, 15:29
par kobebryant824
Bonjour,
J'ai un souci avec file_exist, Contexte:
-sauvegarder un fichier text avec un nom chinois
ex: 新建 文本文档.txt
-appliquer file_exists(C:\新建 文本文档.txt)

Resultats: file_exist retourn tjs FALSE, mon fichier n'est pas reconnu

Voilà, merci pr les réponses...

Re: unicode ett caracteres chinois

Posté : 26 sept. 2011, 00:41
par @rthur
Malheureusement, je crains que ce ne soit pas possible avant PHP 6 :
https://bugs.php.net/bug.php?id=46990

Re: unicode ett caracteres chinois

Posté : 26 sept. 2011, 14:20
par Gofromiel
Est-ce que tu as vraiment besoin de conserver les caractères chinois dans le système de fichier ? Si ce n'est pas le cas tu peux peut-être encoder ta chaine avec base64_encode() et utiliser le résultat pour nommer ton fichier, ça donne "JiMyNjAzMjsmIzI0MzE0OyAmIzI1OTkxOyYjMjY0MTI7JiMyNTk5MTsmIzI2NzIzOw==" pour ta chaine... c'est peut-être un long, mais ça peut marcher:
$filename = '新建 文本文档';
$filename_encoded =  base64_encode($filename);
$extension = '.txt';

if (file_exists($filename_encoded . $extension))
{
    ...
}
Tu peux aussi utiliser la translittération si elle est disponible dans ton environnement, ce sera même mieux.

Re: unicode ett caracteres chinois

Posté : 26 sept. 2011, 15:14
par popy
Malheureusement, je crains que ce ne soit pas possible avant PHP 6 :
https://bugs.php.net/bug.php?id=46990
php6, qui est abandonné ? :D

Re: unicode ett caracteres chinois

Posté : 15 nov. 2011, 15:18
par stealth35
essaye de changer la locale avec setlocale

Re: unicode ett caracteres chinois

Posté : 15 nov. 2011, 15:24
par kobe
Bonjour,
Merci Gofromiel mais Base64_encode ne resoud pas le probleme.
ki aurait une autre piste????
Kobe

Re: unicode ett caracteres chinois

Posté : 15 nov. 2011, 15:54
par @rthur
Bonjour,
Merci Gofromiel mais Base64_encode ne resoud pas le probleme.
ki aurait une autre piste????
Kobe
Essaye un foreach (glob("*.txt") as $nom_fichier) pour voir comment PHP le reconnait, peut être que ça pourra t'aider.

On te revois dans 2 mois? :D

Re: unicode ett caracteres chinois

Posté : 18 nov. 2011, 21:09
par sirakawa
D'où provient ce fichier au nom écrit encaractères chinois?
Il y a bien un moment où il est écrit dans la partie de ton systeme que peuventt atteindre tes scripts PHP.
Au moment où il apparaît pour la première fois, n'y a-t-il pas moyen de lui donner un nom arbitraire (chinois_1.txt, chinois_2.txt...;) avant de le sauvegarder, en particulier s'il est uploadé par move_uploaded_file?