le 04/07/2014 à 17:42
jackbocar
Bonjour,
Je précise en premier que ma connexion MYSQL est en UTF-8, idem pur mes bases de données
J'aimerais avoir une explication à ce nouveau problème de caractères dans les enregistrements dans mes tables, résultats identiques lorsque je test avec UBUNTU ou WINDOWS et EASYPHP
Avec ce code voilà ce qui est inscrit dans la table :
Résultat :
Gerry Lane se lance dans une course contre la montre pour aider le monde à surmonter ses divisions et faire face à l'apocalypse. Dans tous les pays, par tous les moyens, l'humanité n'aura plus qu'un seul espoir de survie : la guerre.
(1h56min)
Comme vous pouvez le constater, l'enregistrement est particulier !!!
Avec celui-ci:
Résultat :
Gerry Lane se lance dans une course contre la montre pour aider le monde à surmonter ses divisions et faire face à l'apocalypse. Dans tous les pays, par tous les moyens, l'humanité n'aura plus qu'un seul espoir de survie : la guerre.
(1h56min)
Comme vous pouvez le constater, l'enregistrement est particulier !!!
Avec celui-ci, voilà ce qui est inscrit :
Résultat :
Gerry Lane se lance dans une course contre la montre pour aider le monde à surmonter ses divisions et faire face à l'apocalypse. Dans tous les pays, par tous les moyens, l'humanité n'aura plus qu'un seul espoir de survie : la guerre.
(1h56min)
Comme vous pouvez le constater, avec la class,crud,php, l'enregistrement est correct.
Alors, comment est-possible ?
Je précise en premier que ma connexion MYSQL est en UTF-8, idem pur mes bases de données
J'aimerais avoir une explication à ce nouveau problème de caractères dans les enregistrements dans mes tables, résultats identiques lorsque je test avec UBUNTU ou WINDOWS et EASYPHP
Avec ce code voilà ce qui est inscrit dans la table :
<?php
$mysql_hostname = 'localhost';
$mysql_username = 'xxxxxxxxxxx';
$mysql_password = 'xxxxxxxxxxxxxxxx';
$mysql_dbname = 'xxxxxxxxxxxxxxxxxxxxxx';
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
try {
$dbh = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if (isset($_POST['titre']) && isset($_POST['menu']) && isset($_POST['sortie']) && isset($_POST['realisateur']) && isset($_POST['acteurs']) && isset($_POST['genre']) && isset($_POST['nationalite']) && isset($_POST['news']) && isset($_POST['casting']) && isset($_POST['visible'])) {
if (!empty($_POST['titre']) && !empty($_POST['menu']) && !empty($_POST['sortie']) && !empty($_POST['realisateur']) && !empty($_POST['acteurs'])&& !empty($_POST['genre']) && !empty($_POST['nationalite']) && !empty($_POST['news']) && !empty($_POST['casting']) && !empty($_POST['visible'])) {
$stmt = $dbh->prepare("INSERT INTO Science_fiction (titre, menu, sortie, realisateur, acteurs, genre, nationalite, news, casting, visible) VALUES (:titre, :menu, :sortie, :realisateur, :acteurs, :genre, :nationalite, :news, :casting, :visible)");
$stmt->bindParam(':titre', $_POST['titre']);
$stmt->bindParam(':menu', $_POST['menu']);
$stmt->bindParam(':sortie', $_POST['sortie']);
$stmt->bindParam(':realisateur', $_POST['realisateur']);
$stmt->bindParam(':acteurs', $_POST['acteurs']);
$stmt->bindParam(':genre', $_POST['genre']);
$stmt->bindParam(':nationalite', $_POST['nationalite']);
$stmt->bindParam(':news', $_POST['news']);
$stmt->bindParam(':casting', $_POST['casting']);
$stmt->bindParam(':visible', $_POST['visible']);
$stmt->execute();
echo 'Quote saved.';
header('Location: index.php');
exit();
}
else {
$message = 'Au moins un des champs est vide.';
}//if isset
}//empty
}//try
catch (PDOException $ex) {
echo 'Connection failed: ' . htmlspecialchars($ex->getMessage());
}//catch
?>
<?php
if (isset($message)) {
echo '<h1><center>'.$message.'</center></h1>';
}
?>
Résultat :
Gerry Lane se lance dans une course contre la montre pour aider le monde à surmonter ses divisions et faire face à l'apocalypse. Dans tous les pays, par tous les moyens, l'humanité n'aura plus qu'un seul espoir de survie : la guerre.
(1h56min)
Comme vous pouvez le constater, l'enregistrement est particulier !!!
Avec celui-ci:
<?php
$mysqli = new mysqli("localhost","xxxxxxx","xxxxxxxxxxxxx","xxxxxxxxxxxxxxx");
$db->set_charset('UTF8');
if (mysqli_connect_errno()) {
printf("Echec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$query = 'INSERT INTO Science_fiction VALUES("", "'.$_POST['titre'].'", "'.$_POST['menu'].'", "'.$_POST['sortie'].'", "'.$_POST['realisateur'].'", "'.$_POST['acteurs'].'", "'.$_POST['genre'].'", "'.$_POST['nationalite'].'", "'.$_POST['news'].'", "'.$_POST['visible'].'")';
$mysqli->query($query);
printf ("Le nouvel enregistrement a l'id %d.\n", $mysqli->insert_id);
$mysqli->close();
?>
Résultat :
Gerry Lane se lance dans une course contre la montre pour aider le monde à surmonter ses divisions et faire face à l'apocalypse. Dans tous les pays, par tous les moyens, l'humanité n'aura plus qu'un seul espoir de survie : la guerre.
(1h56min)
Comme vous pouvez le constater, l'enregistrement est particulier !!!
Avec celui-ci, voilà ce qui est inscrit :
<?php
include 'crud.class.php';
$crud = new crud();
include '../_require/videotheque_crud.php';
$values = array(
array("titre"=>"".$_POST['titre']."", "menu"=>"".$_POST['menu']."", "sortie"=>"".$_POST['sortie']."", "realisateur"=>"".$_POST['realisateur']."", "acteurs"=>"".$_POST['acteurs']."", "genre"=>"".$_POST['genre']."", "nationalite"=>"".$_POST['nationalite']."", "news"=>"".$_POST['news']."", "visible"=>"".$_POST['visible'].""),
);
$crud->dbInsert('films', $values);
?>
Résultat :
Gerry Lane se lance dans une course contre la montre pour aider le monde à surmonter ses divisions et faire face à l'apocalypse. Dans tous les pays, par tous les moyens, l'humanité n'aura plus qu'un seul espoir de survie : la guerre.
(1h56min)
Comme vous pouvez le constater, avec la class,crud,php, l'enregistrement est correct.
Alors, comment est-possible ?