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 :

Caractère -é- qui se transforme en -é-


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Par défaut Caractère -é- qui se transforme en -é-
    Bonjour j'ai un script qui doit aller recuperer le nom de mes repertoires et les inscrir dans une liste deroulante.
    Le scripte se passe bien mais sous linux, au lieu de me mettre des accents j'ai des caracteres speciaux du style . "é"



    Lorsque je force a mettre des accent, les dossier ne sont plus reconus (ce qui dans mon cas me fait des lien morts par la suite ... )


    Comment faire en sorte qu'a l'affichage les dossiers soit affiché correctement avec des accent "é" et que la variable garde toujours "é" pour que mes liens ne soit pas morts ?.?

    J'ai tenter pas mal de chose,l'encodage de ma page est en iso-15 mais sa ne vien pas de l'encodage car tout mes caractère speciaux son bien affiché, sa vien bien de mes dossiers !!!

    ( vu sous fillezilla )


    j'ai tenter de modifier uniquement l'affichage de mes select :

    l'original :

    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
    28
    29
     
    	//chemin relatif vers le rep depuis le script
    	$chemin_repertoire = "../docs/";
    	echo "
    	<form action='index.php' method='POST' enctype='multipart/form-data'>
    	<select onchange='submit()' name='listeA'>
    	<option selected></option>
    	";
    	$dp = opendir($chemin_repertoire); // ouvre le repertoire
    	while ( $entrer = readdir($dp) )
    	{// enleve les fichiers . et ..
     
    		if ($entrer != '.' && $entrer != '..')
    		{//si pas . et ..
    			if (is_dir($chemin_repertoire."/".$entrer))
    			{//si c'est un repertoire
    			   echo "<option value='$entrer'";
    			   if(isset($_POST['listeA'])) 
    					{if($_POST['listeA'] == $entrer) 
    						echo " selected"; }
    					}echo ">$entrer</option>";
    			}
    		}
    	}
    	closedir($dp);
    	echo "
    	</select>
    	</form>
    	";



    code modifier
    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
    28
    29
    30
    31
    32
    echo "
    	<form action='index.php' method='POST' enctype='multipart/form-data'>
    	<select onchange='submit()' name='listeA'>
    	<option selected></option>
    	";
    	$dp = opendir($chemin_repertoire); // ouvre le repertoire
    	while ( $entrer = readdir($dp) )
    	{// enleve les fichiers . et ..
    		
    		if ($entrer != '.' && $entrer != '..')
    		{//si pas . et ..
    			if (is_dir($chemin_repertoire."/".$entrer))
    			{//si c'est un repertoire
    			   
    			   
    			   $entrer2 = str_replace ('é','é', $entrer);
    			   echo "<option value='$entrer2'";
    
    			   if(isset($_POST['listeA'])) 
    					{if($_POST['listeA'] == $entrer) 
    					{$entrer2 = str_replace ('é','é', $entrer);	
    						echo " selected"; }
    					}echo ">$entrer2</option>";
    			}
    		}
    	}
    	closedir($dp);
    	echo "
    	</select>
    	</form>
    	";
    sa ne marche pas, les repertoires sont bien listé avec des accents une bonne écriture mais ma deuxieme liste deroulante ne reconais pas les repertoires, du coups ma deuxieme liste est vide (or elle est censé me lister les sous-repertoires)


    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    mais sa ne vien pas de l'encodage car tout mes caractère speciaux son bien affiché
    Le système doit justement fournir les noms de fichier en UTF8 alors que ta page est en ISO.

    Utilise la fonction utf8_decode() sur les noms de fichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Par défaut
    salut j'avais essayer la fonction que tu m'avais donner mais sa ne donne rien .
    je vais reessayer en la placant autre part ..

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Par défaut
    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
    28
    29
    30
    31
    32
     
    $chemin_repertoire = "../docs/";
    	echo "
    	<form action='index.php' method='POST' enctype='multipart/form-data'>
    	<select onchange='submit()' name='listeA'>
    	<option selected></option>
    	";
    	$dp = opendir($chemin_repertoire); // ouvre le repertoire
    	while ( $entrer = readdir($dp) )
    	{// enleve les fichiers . et ..
     
    		if ($entrer != '.' && $entrer != '..')
    		{//si pas . et ..
    			if (is_dir($chemin_repertoire."/".$entrer))
    			{//si c'est un repertoire
    				if (mb_detect_encoding($entrer,"ISO-8859-1, UTF-8") == "UTF-8") {
    				$entrer = utf8_decode($entrer);
    }
    			   echo "<option value='$entrer'";
    			   if(isset($_POST['listeA'])) 
    					{if($_POST['listeA'] == $entrer) 
    						echo " selected"; }
    			}echo ">$entrer</option>";
    		}
    	}
     
    	closedir($dp);
    	echo "
    	</select>
    	</form>
    	";
    ?>
    voici mon code


    le resultat est le même

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo mb_detect_encoding($entrer,"ISO-8859-1, UTF-8");
    Comme ca on saura ou on en est.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Par défaut
    voici mon code ..
    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
     
    if ($entrer != '.' && $entrer != '..')
    		{//si pas . et ..
    			if (is_dir($chemin_repertoire."/".$entrer))
    			{//si c'est un repertoire
     
    			   echo mb_detect_encoding($entrer,"ISO-8859-1, UTF-8");
    			   $toto= mb_detect_encoding($entrer,"ISO-8859-1, UTF-8");
    			   echo "<script>alert('$toto');</script>";
     
    			   echo "<option value='$entrer'";
    			   if(isset($_POST['listeA'])) 
    					{if($_POST['listeA'] == $entrer) 
    					echo " selected"; }
    			}echo ">$entrer</option>";
    		}
    le premier echo ne me retourne rien, mon pop up m'affiche " ISO-8859-1 "

Discussions similaires

  1. [CSV] Supprimer les caractères qui gênent
    Par sami_c dans le forum Langage
    Réponses: 5
    Dernier message: 08/09/2006, 09h41
  2. les caractères qui posent problème ..
    Par questionneuse dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 18/07/2006, 15h26
  3. domxml caractère qui passe pas
    Par gabychon dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/05/2006, 15h08
  4. Afficher un caractère qui clignote à l'écran
    Par ha125 dans le forum Assembleur
    Réponses: 2
    Dernier message: 27/04/2006, 19h45
  5. [VB.NET] une chaine de caractère qui devient une propriete
    Par lucie.houel dans le forum ASP.NET
    Réponses: 8
    Dernier message: 20/09/2005, 15h10

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