sauvegarde en UTF-8

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 : sauvegarde en UTF-8

Re: sauvegarde en UTF-8

par stealth35 » 23 juin 2010, 22:04

peu etre parce que apache envoie l'en-tete UTF-8, telecharge ton fichier txt, convertie le en utf-8 et refais un upload,
du coté de flash regarde vers flash.system.useCodePage :wink:

Re: sauvegarde en UTF-8

par t00rist » 23 juin 2010, 22:04

...

Re: sauvegarde en UTF-8

par t00rist » 23 juin 2010, 21:56

Effectivement, je l'avais mal placé, merci pour l'info et l'enssemble de tes conseils.
fputs($ressource_fichier, htmlentities($_POST['description'],ENT_QUOTES, 'UTF-8'));;
Du coup ça fonctionne parfaitement sous php mais il reste un problème:

Mozilla m'indique que l'encodage de texte.txt est bien en UTF-8.
Seulement lorsque je charge ce fichier.txt du serveur en local je me rend compte qu'il est enregistré en codage ANSI et non UTF-8 par conséquent mon swf ne peut donc pas l'afficher.

L'animation ne peut afficher des fichier .txt que de codage UTF-8.

Peut-être qu'il n'y a pas de solution php pour ce que je souhaite faire (je vais voir du côté de flash) néanmoins tu m'as approté toute les solutions nécessaires conceranant l'affichage UTF8 hors flash.

Merci pour ton aide et ta patience

Re: sauvegarde en UTF-8

par stealth35 » 23 juin 2010, 21:33

t'as toujours pas changer ton htmlentities :wink:

c'est au moment du fputs qu'il faut le faire

Re: sauvegarde en UTF-8

par t00rist » 23 juin 2010, 21:26

Donc j'ai fait ceci
<?php
header('Content-Type: text/html; charset=utf-8');
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Send</title>
<style type="text/css">
</head>
<body>
<p>

  <?php 
htmlentities($fichier, ENT_QUOTES, 'UTF-8');

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

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

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

</p>
<p align="center" class="Style3">Texte à jour.</p>
<table width="574" border="0" align="center" cellpadding="0" cellspacing="1">
</table>
</body>
</html>
Et évidement j'ai encore dû faire nimporte quoi car ça ne fonctionne pas.

Re: sauvegarde en UTF-8

par stealth35 » 23 juin 2010, 21:03

au niveau de ton header c'est pas bon, il dois etre avant toute sortie


donc
<?php
header('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
....

quand tu ouvre ton texte.txt firefox te dis que c'est du l'utf-8 aussi ?
pour que htmlentities sois en utf-8 c'est
htmlentities($str, ENT_COMPAT, 'UTF-8');
sinon il écrit en ISO

Re: sauvegarde en UTF-8

par t00rist » 23 juin 2010, 20:53

Bas finalement toute mes pages sont bien en charset=utf-8.

Re: sauvegarde en UTF-8

par t00rist » 23 juin 2010, 20:50

Alors l'ensemble de ma page act.php ci-dessous:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Send</title>
<style type="text/css">
</head>
<body>

<p>

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

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

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

fputs($ressource_fichier, htmlentities($_POST['description']));;

fclose($ressource_fichier); 
} 
?> 

</p>
<p align="center" class="Style3">Texte à jour.</p>
<table width="574" border="0" align="center" cellpadding="0" cellspacing="1">
</table>
</body>
</html>
J'ai viré les infos css qui ne servent à rien ici ainsi que les infos de la table.
Si le navigateur pense avoir affaire à de l'ISO, c'est peut-être dû à l'index du site en lui même, je vais vérifier ça.

Sinon concernant l'information sur la page:

Type: text/html
Mode de rendu: Mode de respect des standards
Encodage: UTF-8
text/html; charset=utf-8

Re: sauvegarde en UTF-8

par stealth35 » 23 juin 2010, 20:37

comment est ton fichier act.php ?
Si la page affiche des caractères de ce type : "é", "î", "Ã", ...
=> Les données ont été enregistrées au format UTF-8, et le navigateur les affiche en pensant avoir affaire à de l'ISO.
verfie que ton fichier act.php sois encodé en utf-8 que les entete sois bonne aussi, sous firefox tu cliques droit dans page et tu fais "information sur la page" tu peu voir l'encodage

Re: sauvegarde en UTF-8

par t00rist » 23 juin 2010, 20:29

Waou, quelle réactivité... je vois que c'est toi qui aide tout le monde sur ce forum =D>

Bien du coup les accents s'inscrivent de cette manière é.

J'ai avec cette version ce message d'erreur qui s'affiche lors de ma validation:
Warning: Cannot modify header information - headers already sent by (output started at /homez.342/test/www/act.php:8) in /homez.342/test/www/act.php on line 39

Ma ligne 39 étant:
header('Content-Type: text/html; charset=utf-8');
J'ai également ajouté (grace aux liens indiqué) ceci dans le htaccess du serveur:
AddDefaultCharset UTF-8

Re: sauvegarde en UTF-8

par stealth35 » 23 juin 2010, 19:19

ducoup ca s'affiche comment ? comme ca : é ou comme ca : � ?

Re: sauvegarde en UTF-8

par t00rist » 23 juin 2010, 18:53

Il doit y avoir quelque chose que je ne saisi pas, là j'ai vraiment du mal.

J'ai donc fait ceci:
header('Content-Type: text/html; charset=utf-8');

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

fputs($ressource_fichier, utf8_encode($_POST['description']));; 
fclose($ressource_fichier); 
} 
Evidement ça ne fonctionne pas.

Re: sauvegarde en UTF-8

par stealth35 » 23 juin 2010, 13:12

utilise le 3eme paramètre de htmlentities

Re: sauvegarde en UTF-8

par t00rist » 23 juin 2010, 12:20

Alors oui le fichier .txt est bien enregistré à la base en codage UTF-8 et ai intégré la ligne ci-dessous dans mon code mais ça ne fonctionne toujours pas.

Ligne inséré
<?php 

header('Content-Type: text/html; charset=utf-8'); // ligne que j'ai inséré

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

fputs($ressource_fichier, htmlentities($_POST['description']));; 
fclose($ressource_fichier); 
} 
?> 
Là, je ne comprend vraiment pas, je n'arrete pas d'essayer diverses solutions mais rien n'y fait. :(

Re: sauvegarde en UTF-8

par stealth35 » 23 juin 2010, 00:00

t'as bien vérifié que l'encodage de ton fichier php et de ton fichier txt sois en UTF-8 ? si c'est bien fais t'as pas besion de utf8_encode et/ou utf8_decode