Enregistrer le fichier en UTF-8 avec du php

leymiris Messages postés 2 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 19 janvier 2010 - 10 mars 2006 à 16:02
caraffucciu Messages postés 66 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 novembre 2007 - 24 août 2006 à 15:11
Bonjour !

Voilà une petite question. Quand je fait la modification
d'un fichier texte à partir de mon code php, je voudrais savoir comment
enregistrer automatiquement en UTF-8 et non ANSI....

Merci d'avance de votre aide.

10 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mars 2006 à 16:12
Hello,

$chaine = utf8_encode ($chaine);
$fp = fopen ($file, 'w');
fwrite ($fp, $chaine);
fclose ($fp);
0
caraffucciu Messages postés 66 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 novembre 2007
24 août 2006 à 13:24
J'ai le même problème mais les donnés sont stockés dans une base sql... via php... j'intègre ce code au début de ma page php ?

caraffucciu
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 août 2006 à 13:38
Hello,

non.
Explique ton problème plus précisément ?
0
caraffucciu Messages postés 66 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 novembre 2007
24 août 2006 à 14:06
Alors,
j'ai installé un script de news (utilisant flash/php/mysql) anglophone... tout marche très bien sauf si j'entre des caractères accentués... On m'as dit passer en utf-8 ok mais comment... si en xml c'est pas très compliqué suffit de changer l'en-tête php ça m'as l'air totalement différent.. j'ai intégré ce bout de code (ci-dessus) dans mes pages php mais vraisemblablement ça marche pas...
Ca aurait été d'ailleurs trop beau ;-)..

la seul chose et je sais pas si ça a son importance c'est que j'ai remarqué ça à répétition dans mes scripts si ça peut t'aider à voir plus clair (et te fous pas de moi si c'est  pas le cas ;-)) :
blbablabla.urlencode.blablabla ?

caraffucciu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 août 2006 à 14:32
Nan.
C'est où le problème ? à l'insertion dans la bdd, ou en sortie de bdd ?
Dans tous les cas, essaye :
- utf8_encode () sur les valeurs que tu entres en bdd
- utf8_decode () sur les valeurs que tu sors de ta bdd
- header ('Content-type: text/html; charset=UTF-8); en début de page affichant tes données...
0
caraffucciu Messages postés 66 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 novembre 2007
24 août 2006 à 14:33
Et pour que flash puisse afficher des caractères accentués il faut que php les convertits en format utf-8... Le problème viens donc de php je pense...

caraffucciu
0
caraffucciu Messages postés 66 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 novembre 2007
24 août 2006 à 14:43
Comment savoir si c'est en entrer ou sorti ? ce qui est sûre c'est que les donnés dans ma bases de donnés sont stockés avec les accents...

je  pense que c'est lors de l'envoi que les donnés  doivent être  encoder puis stocker...




quand tu dis sur les valeurs qui entrent cela se traduit par ça non?
------------------------
$query = "INSERT INTO news (title, author, body, posted)
          VALUES('$newsTitle', '$newsAuthor', '$newsBody', $posted)";
-------------------------

Attention mes donnés sont afficher dans un document flash (swf) et celui ci à partir du moment ou les donnés qu'il va récupérer sont encoder en utf-8 il les affichera correctement...

0
caraffucciu Messages postés 66 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 novembre 2007
24 août 2006 à 14:43
excuse pour le formatage du texte...

caraffucciu
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 août 2006 à 15:07
Fais le en sortie.
0
caraffucciu Messages postés 66 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 novembre 2007
24 août 2006 à 15:11
comment? si c'est en sorti c'est surement dans ce fichier:

----------------------------------------------------
/ Attempt to connect to MySQL server
$link = @mysql_connect($dbHost, $dbUser, $dbPass);

// If the connection was unsuccessful...
if (!$link)
{
    // Report error to Flash and exit
    print "&newsText=" . urlencode("Could not connect to server");
    exit;
}

// Attempt to select database. If unsuccessfull...
if (!@mysql_select_db($dbName))
{
    // Report error to Flash and exit
    print "&newsText=" . urlencode("Could not select $dbName database");
    exit;
}

// Build query to fetch news items from database
// Using 'ORDER BY posted DESC' to fetch newest items first
$query = "SELECT * FROM news ORDER BY posted DESC";

// Execute query
$result = @mysql_query($query);

// If query was okay AND we have at least 1 news item...
if ($result && @mysql_num_rows($result) > 0)
{
    // Initialise variable to hold news items
    $newsText = "";

    // For each news item returned from query...
    while($row = mysql_fetch_array($result))
    {
        // Format date in 'day dd/mm/yy hh:mm' format
        $posted = strftime("%d/%m/%y", $row['posted']);

        // Add title to output in large white font
        $newsText .= '';
        $newsText .= stripslashes($row['title']);
        $newsText .= '
';

        // Add news item body
        $newsText .= stripslashes($row['body']). '
';

    // Add date posted and author name in small font
        $newsText .= '';
        $newsText .= $posted . " par " . $row['author'] . '

';
        $newsText .= '
';

    }

    // Output news items back to Flash
    print "&newsText=" . urlencode($newsText);
}
else
{
    // Tell Flash no news items were found
    print "&newsText=" . urlencode("No news items yet");
}

// Close link to MySQL server
mysql_close($link);

?>
---------------------------------------------------
Peux tu me dire quoi changer ?

caraffucciu
0
Rejoignez-nous