bonjour,
j'ai un souci quand je charge des infos dans une table ou l'interclassement est en utf8 general ci dans mes champs mes accents se retrouve avec des "Hé" je suis sur MAMP et sublim text 2 j'ai fait le test sur mon macbookpro avec le meme environnement de travail et la tout va bien j'ai pas de caractère modifié je ne sais pas si c'est sur l'editeur,php.ini ou mysql du premier ordi que l'encodage est pas bon :s
le problème vient de la ligne 27 $name= $donnee'ped_title']; sur un ordi il va INSERT sans probleme sur l'autre quand je vais dans ma base c'est le bordel avec mes accents j'ai plus de tiret "-" car c'est pour gerer mes URL
<?php header('content-type: text/html; charset=utf-8'); ?>
<?php
// connexion a la base de donnée
try {
$bdd= new PDO('mysql:host=localhost;dbname=net','root','root');
echo "conection1";
mysql_query("SET NAMES UTF8");
$bdd2= new PDO('mysql:host=localhost;dbname=wordpress','root','root');
echo "connection2";
mysql_query("SET NAMES UTF8");
} catch (Exception $e) {
die('Erreur:'.$e->getMessage());
}
//si tout va bien on passe la requete
$reponse = $bdd->query('SELECT * FROM net_news');
// on recup les infos de la base1 grace a une boucle
while ($donnee = $reponse->fetch()) {
# code...
$id=$donnee'id'] ;
$author=$donnee'author'];
$date=$donnee'created'];
$content="<strong class='mary'>".$donnee'mary']."</strong> <!--more-->".$donnee'body']; //mary_image
$title=$donnee'title'];
$name= $donnee'ped_title'];
$guide="http://localhost:8888/wordpress/?p=".$donnee'id'];
// enregistrement des infos dans la base 2
$req2=$bdd2->prepare('INSERT INTO wp_posts(ID,post_author,post_date,post_date_gmt,post_content,post_title,post_name,guid) VALUES(:post_id,:post_author,:post_date,:post_date_gmt,:post_content,:post_title,:post_name,:post_guide)');
$req2->execute(array(
'post_id'=>$id,
'post_author'=>$author,
'post_date'=>$date,
'post_date_gmt'=>$date,
'post_content'=>$content,
'post_title'=>$title,
'post_name'=>$name,
'post_guide'=>$guide
));
echo "ok";
}
$reponse->closeCursor();
$req2->closeCursor();
?>
Salut,
Pour le set name PDO:
$pdo = new PDO(
'mysql:host=mysql.example.com;dbname=example_db',
"username",
"password",
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
et non pas
mysql_query('SET NAME UTF8')
vu que tu as utilisé PDO object ;)