Sauvegarde en UTF-8

Signaler
Messages postés
9
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
29 juin 2010
-
Messages postés
9
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
29 juin 2010
-
Bonjour,

J'ai un problème concernant un fichier .txt (codage UTF-8 à la base) que j'édite via un simple formulaire, seulement lorsque je valide mon texte il retourne au format ANSI.

Si j'ai besoin qu'il reste en UTF-8 c'est dans l'optique qu'une animation swf puisse lire les accents de ce texte dans un champs dynamique standard appelé à l'aide de this.texteur.loadVariables("texte.txt"); sous flash.
Donc y a t-il un code pour permettre à mon fichier de rester un UTF-8?

Voici mon code très simple car je débute en php pour éditer ce texte: (act.php)

<?php 
$ressource_fichier =  fopen('texte.txt', 'w'); 
if($ressource_fichier AND is_writable('texte.txt'))
{ 

fputs($ressource_fichier, htmlentities($_POST['description']));; 
fclose($ressource_fichier); 
} 
?>



Et si il y a besoin mon formulaire: ( rec.php )
<?php 
$fichier  = file_get_contents('texte.txt');
echo $fichier;
?> 



<form action="act.php" method="post"> 
<textarea name="description" rows="1" cols="200">textfield= </textarea>

 


</form>


J'ai élagement essayé plusieurs solutions insérés ci-dessous mais rien n'y fait, mon fichier retourne toujours en ANSI.

Premier essai
<?php 

header('Content-Type: text/html; charset =utf-8');//Première essai

$ressource_fichier =  fopen('texte.txt', 'w'); 
if($ressource_fichier AND is_writable('texte.txt'))
{ 

fputs($ressource_fichier, htmlentities($_POST['description']));; 
fclose($ressource_fichier); 
} 
?>


Second essai
<?php
$ressource_fichier  = fopen('texte.txt', 'w'); 
if($ressource_fichier AND is_writable('texte.txt')) 
{ 

$description= UTF8_encode($description);// Second essai

fputs($ressource_fichier, htmlentities($_POST['description']));;
fclose($ressource_fichier); 
} 
?>


Troisième essai
<?php
$ressource_fichier  = fopen('texte.txt', 'w'); 

if($ressource_fichier AND is_writable('texte.txt'))
{ 

fputs($ressource_fichier, utf8_encode($_POST['description']));; //troisième essai
fclose($ressource_fichier); 
} 
?>

Dans toute ses tentatives j'ai laissé l'entête :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />



Si quelqu'un pouvait m'aider ou m'indiquer la marche à suivre, j'en serais plus que ravi!!!

Merci par avance

1 réponse

Messages postés
9
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
29 juin 2010

J'ai essayé plusieurs solutions et j'en suis arrivé là.

<?php
header('Content-Type: text/html; charset=utf-8');

?>
  <?php 

$ressource_fichier = fopen('texte.txt', 'w'); 

if($ressource_fichier AND is_writable('texte.txt'))
{ 

fputs($ressource_fichier, htmlentities($_POST['description'],ENT_COMPAT, 'UTF-8'));; 

fclose($ressource_fichier); 
} 
?> 


En ce qui concerne le php, aucun problème, tout s'affiche correctement.
Mais j'ai toujours un problème car cela m'inscrit les texte avec des é au lieu de é et en me laissant le codage du .txt en ANSI.

Par conséquent flash ne peut toujours pas le lire car il fautr impérativement un codage en UTF-8.

Je suis sur ce problème depuis un certain temps donc si quelqu'un pouvait m'aider, ça m'aiderai enormement.