unicode ett caracteres chinois

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : unicode ett caracteres chinois

Re: unicode ett caracteres chinois

par sirakawa » 18 nov. 2011, 21:09

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?

Re: unicode ett caracteres chinois

par @rthur » 15 nov. 2011, 15:54

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

par kobe » 15 nov. 2011, 15:24

Bonjour,
Merci Gofromiel mais Base64_encode ne resoud pas le probleme.
ki aurait une autre piste????
Kobe

Re: unicode ett caracteres chinois

par stealth35 » 15 nov. 2011, 15:18

essaye de changer la locale avec setlocale

Re: unicode ett caracteres chinois

par popy » 26 sept. 2011, 15:14

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

par Gofromiel » 26 sept. 2011, 14:20

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

par @rthur » 26 sept. 2011, 00:41

Malheureusement, je crains que ce ne soit pas possible avant PHP 6 :
https://bugs.php.net/bug.php?id=46990

unicode ett caracteres chinois

par kobebryant824 » 14 sept. 2011, 15:29

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...