Conversions de caractères en entités HTML

Répondre
jackbocar
le 19/05/2014 à 17:22
jackbocar
Je m’explique, lorsque j’avais des textes à placer dans une table de données, si les textes étaient très long, je les passais avant avec le code (functions_caracteres.php) afin qu’ils soient convertis en entités HTML.

Si les textes ne sont pas long, je les envois via un formulaire dans la table de données, avec la conversion à l’aide du même fichier (functions_caracteres.php).
Sauf que maintenant plus rien n’est converti, et lorsque j’envoie un fichier avec mon formulaire dans la table de données, voilà ce qu’il donne dans la table de données:

Fonction du poète

Peuples ! écoutez le poète !
Ecoutez le rêveur sacré !
Dans votre nuit, sans lui complète,
Lui seul a le front éclairé.
Des temps futurs perçant les ombres,
Lui seul distingue en leurs flancs sombres
Le germe qui n'est pas éclos.
Homme, il est doux comme une femme.
Dieu parle à voix basse à son âme
Comme aux forêts et comme aux flots.

C'est lui qui, malgré les épines,
L'envie et la dérision,
Marche, courbé dans vos ruines,
Ramassant la tradition.
De la tradition féconde
Sort tout ce qui couvre le monde,
Tout ce que le ciel peut bénir.
Toute idée, humaine ou divine,
Qui prend le passé pour racine
A pour feuillage l'avenir.

Il rayonne ! il jette sa flamme
Sur l'éternelle vérité !
Il la fait resplendir pour l'âme
D'une merveilleuse clarté.
Il inonde de sa lumière
Ville et désert, Louvre et chaumière,
Et les plaines et les hauteurs ;
À tous d'en haut il la dévoile ;
Car la poésie est l'étoile
Qui mène à Dieu rois et pasteurs !


Je tiens à préciser que je test mon travail avec EasyPhp 14.1 CV9
Mon système est paramétré en :
utf8mb4_general_ci
Mes bases et mes tables
utf8mb4_general_ci

Merci à vous de me donner des conseils pour arriver à convertir les données en entités HTML dans les tables de données

Jack Bocar
LupusMic
le 20/05/2014 à 11:38
LupusMic
Est-ce que tu indiques à ta connexion avec MySQL que tu veux parler en UTF-8?

<?php $db->set_charset('UTF8');
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
jackbocar
le 20/05/2014 à 16:40
jackbocar
Bonjour,

Merci de ta réponse (LupusMic)

Actuellement:
<?php
$mysql_hostname = 'localhost';
$mysql_username = 'MON LOGIN';
$mysql_password = 'MON PASSWORD';
$mysql_dbname = 'MABASE';
?>


J'ai placé les indications de connexions comme ceci ça ne fonctionne pas:
<?php
$mysql_hostname = 'localhost';
$mysql_username = 'MON LOGIN';
$mysql_password = 'MON PASSWORD';
$mysql_dbname = 'MABASE';
?>

<?php $db->set_charset('UTF8'); ?>


J'ai placé les indications de connexions comme ceci ça ne fonctionne pas:
<?php
$mysql_hostname = 'localhost';
$mysql_username = 'MON LOGIN';
$mysql_password = 'MON PASSWORD';
$mysql_dbname = 'MABASE';
?>

<?php $mysql_dbname->set_charset('UTF8'); ?>


J'ai placé les indications de connexions comme ceci ça ne fonctionne pas:
<?php
$mysql_hostname = 'localhost';
$mysql_username = 'MON LOGIN';
$mysql_password = 'MON PASSWORD';
$mysql_dbname = 'MABASE';
?>

<?php $stmt->set_charset('UTF8'); ?>


J'ai placé les indications de connexions comme ceci ça ne fonctionne pas:
<?php
$mysql_hostname = 'localhost';
$mysql_username = 'MON LOGIN';
$mysql_password = 'MON PASSWORD';
$mysql_dbname = 'MABASE';
?>

<?php $dbh->set_charset('UTF8'); ?>


J'ai placé les indications de connexions comme ceci ça ne fonctionne pas:
<?php
if (isset($_POST['quote'])) {
try {
$dbh = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $dbh->prepare('INSERT INTO auteur (quote) VALUES (:quote)');
$stmt->bindParam(':quote', $_POST['quote']);
$stmt->execute('set names utf8');
echo 'Quote saved.';
}
catch (PDOException $ex) {
echo 'Connection failed: ' . htmlspecialchars($ex->getMessage());
}
}
?>



As-tu une autre suggestion ?

Mais pourtant, je pensais naïvement qu'il suffisait de donner les mêmes paramètres de connexion du serveur aux bases et aux tables pour que tout soit en conformité !!!

Je constate une seule chose, plus on avance dans le perfectionnement des systèmes et plus il faut ajouter de paramètres pour qu'ils fonctionnent tous correctement.

C'est ce que l'on appel de la simplification !!!!

Jack Bocar
jackbocar
le 20/05/2014 à 16:58
jackbocar
Bonjour,

Désolé pour le dérangement.

J'ai trouvé ce module de connexion et il fonctionne très bien.

Pour tous ceux qui auraient le même problème que moi, voici une solution, il y en peut-être d'autres

Jack Bocar

<?php
$dsn = 'mysql:host=localhost;dbname=BASEDONNEES';
$username = 'USERNAME';
$password = 'PASSWORD';
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);
$dbh = new PDO($dsn, $username, $password, $options);
?>
LupusMic
le 20/05/2014 à 17:02
LupusMic
:-D Désolé, j'oublie toujours que tu utilises PDO.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours