IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[encoding]d'un charset a un autre ;)


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 97
    Par défaut [encoding]d'un charset a un autre ;)
    bonjour,
    Travaillant sur un projet multilingue, je viens de chercher un peu sur internet pour trouver un moyen de parser des fichiers d'un encodage a un autre.
    Plus exactement, comment passer du cyrillic(windows-1251) a de l'utf8.
    Ne trouvant pas mon bonheure, je me suis dit que ca pourrait en interresser.
    Voila une fonction toute bete, mais tres puissante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    function parse_encoding ($fichier,$oldCharset,$newCharset){
    if( ! $read = @fopen($fichier,'rb')){
    		$result= "Impossible d'ouvrir le fichier";
    	} else {
    		if(! $contenu = @fread($read, filesize($fichier))) {
    			$result = "Impossible de lire le fichier";
    		} else {
    			$str =[b] mb_convert_encoding[/b]($contenu, $newCharset,$oldCharset);
    			$str = str_replace($oldCharset,$newCharset,$str);
    			$taille = strlen($str);
    			fclose($read);
    			if( ! $fp = @fopen($fichier,'w')) $result = "Impossible d'ouvrir le fichier en ecriture";
    			else {
    				fwrite($fp,$str,$taille);
    				fclose($fp);
    				$result = "changement de charset ok sur ".$fichier;
    			}
    		}
    	}
    	print("
    	<u>resultat de l'encodage :</u><br>
    	charset de depart : ".$oldCharset."<br>
    	charset d'arrivee : ".$newCharset."<br>
    	fichier : ".$fichier."<br>
    	resultat : ".$result."<br>".$str);
    }
    Voila.
    ps : dsl pour les accents, qwerty oblige

  2. #2
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    peut être faudrait til qu'un admin le transfere dans http://www.developpez.net/forums/viewtopic.php?t=222164 ?

Discussions similaires

  1. [1.x] Problème d'encoding : fixtures.yml, generator.yml voire autres
    Par bilbonec dans le forum Symfony
    Réponses: 8
    Dernier message: 20/09/2010, 09h31
  2. Charset / encoding emulateur vs téléphone
    Par romainw dans le forum Android
    Réponses: 0
    Dernier message: 06/08/2010, 16h25
  3. [iText] Problème charset encoding
    Par Jexou dans le forum Documents
    Réponses: 4
    Dernier message: 09/09/2009, 20h23
  4. encoding, charset dans les sources
    Par jean-jacques varvenne dans le forum Général Python
    Réponses: 6
    Dernier message: 01/02/2008, 18h02
  5. Encode en base 64 (ou autre)
    Par sami_c dans le forum ASP
    Réponses: 4
    Dernier message: 29/06/2006, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo