Caractère non valide

RealTFA Messages postés 27 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 4 novembre 2015 - 22 nov. 2014 à 06:29
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 25 nov. 2014 à 16:04
Bonjour,

Sur mon site, j'ai un problème: je veux bien mettre "UTF-8", mais il n'a aucun effet, je continu a voir les '?' à la place des 'é' , 'à', 'è', ect.

Voici mon code:

<!DOCTYPE html>
<html>
<head>
<title>Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

</head>

<h1>Uploader de fichiers</h1>
<br>
<br>
<br>
<form action="" enctype="multipart/form-data" method="post" onsubmit="return confirm('L\'upload de votre fichier peut prendre un certain nombre de temps, dépendamment de son poids. Veuillez s\'il vous plait patienter, nous vous avertirons lorsque votre fichier sera prêt. Merci.');">
La date d'aujourd'hui (ex: jours/mois/année) : <input class="date" name="date" type="date" /> <br><br>
 Votre fichier (pour l'instant, vous ne pouvez choisir que un fichier à la fois): <input class="file" name="file" type="file" /><br><br>
Votre nom (ou le titre de votre ficher) : <input class="text" name="text" type="text" /><br><br>
Description de votre fichier : <input class="text1" name="text1" type="text" /><br><br>

<input id="Submit" name="submit" type="submit" value="Envoyer les fichiers!" />


</form>
<a href="uploads/">Chercher vos fichiers que vous avez télécharger!</a>
<br><br><br><br>
<?php
 
// Upload and Rename File
 
if (isset($_POST['submit']) AND isset($_POST['text']) AND isset($_POST['date']) AND isset($_POST['text1']))
{
$text = $_POST["text"];
$date = $_POST["date"];
$desc = $_POST["text1"];
	$filename = $_FILES["file"]["name"];
	$file_basename = substr($filename, 0, strripos($filename, '.')); // get file extention
	$file_ext = substr($filename, strripos($filename, '.')); // get file name
	$filesize = $_FILES["file"]["size"];
	$allowed_file_types = array('.doc','.docx','.rtf','.pdf','.php','.html','.js','.jpg','.png','.mp4','.tif','.txt','.app','.ipa','.apk','.JPG','.jpeg','.ini','.rar','.zip','.dmg','.exe','.msi','.wmv','.7z','.pptx','.mov','.pps','.xlsx','.tar','.mov','.mp3','.m4a','.wma');	
 
	if (in_array($file_ext,$allowed_file_types) && ($filesize < 90000000))
	{	
		// Rename file
		$newfilename = $date . '.'  . $text . " ( $desc ) " . $file_ext;
		if (file_exists("./uploads/" . $newfilename))
		{
			// file already exists error
			echo '<p style="color:red;">Le fichier que vous venez de choisir existe déjà sur le serveur.<br> Veuillez renommer votre fichier « $file_basename$file_ext » .</p> ';
		}
		else
		{		
			move_uploaded_file($_FILES["file"]["tmp_name"], "./uploads/" . $newfilename);
			echo '<p style="color:#257E78;">Votre fichier <a href="uploads/'.$newfilename.'">'.$file_basename.'</a> a été télécharger avec <u>succès!</y></p><br>';		
		}
	}
	elseif (empty($file_basename))
	{	
		// file selection error
		echo '<p style="color:red;">S\'il vous plait, choisir un fichier avant de le télécharger.</p>';
	} 
	elseif ($filesize > 90000000)
	{	
		// file size error
		echo '<p style="color:red;">Le fichier '.$file_basename.' que vous venez de choisir est trop lourd pour le serveur :( .</p>';
	}
	else
	{
		// file type error
		echo '<p style="color:red;">Seulement ces types de fichiers sont acceptés:</p>'  . implode(', ',$allowed_file_types);
		unlink($_FILES["file"]["tmp_name"]);
	}
}
 
?>
<style>
body {
background-color: #B1C392;
}
.file {
font-size: 20px;
}
input[type="submit"] {
text-align: center;
bottom: 0px;
left: 600px;
right: 500px;
 position: fixed;
width: 155px;
height: 50px;
font-size: 1em;
margin-bottom: 5px;
background-color: #1E3944;
color: #DFD6AE;
border-radius: 10 10 10 10;
}
input[type="date"], input[type="text"] {
text-align: center;
display: block;
float: right;
color: #DFD6AE;
border-radius: 20 20 20 20;
}
h1 {
font-size: 100px;
color: #274245;
}
* {
font-family: Helvetica Neue, sans-serif;
font-weight: lighter;
text-align: center;
font-size: 40px;
color: #274245;
}
.file::-webkit-file-upload-button {
  visibility: hidden;
}
.file::before {
  content: 'Choisir des fichiers';
  display: inline-block;
  background: -webkit-linear-gradient(top, #f9f9f9, #e3e3e3);
  border: 1px solid #999;
  border-radius: 3px;
  padding: 5px 8px;
  outline: none;
  white-space: nowrap;
  -webkit-user-select: none;
  cursor: pointer;
  text-shadow: 1px 1px #fff;
  font-weight: 700;
  font-size: 10pt;
}
.file:hover::before {
  border-color: black;
}
.file:active::before {
  background: -webkit-linear-gradient(top, #e3e3e3, #f9f9f9);
}
</style>
</html>


Merci d'avance!

3 réponses

kuetedonald Messages postés 45 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 4 octobre 2016 3
22 nov. 2014 à 09:21
ce code marche bien chez moi essaie encore . si ca ne marche pas tu peut utiliser Javascript pour rechercher et remplacer les caractereambigue de ta page.
0
RealTFA Messages postés 27 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 4 novembre 2015
Modifié par RealTFA le 22/11/2014 à 15:35
Non, ça ne marche toujours pas. Toujours ces petits "?" dans un losange noir.

Comment puis-je utiliser votre technique avec le Javascript?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
22 nov. 2014 à 15:40
Les problèmes d'encodage peuvent également venir de l'encodage de ton fichier texte ( html .. php ..).
Dans ton éditeur de texte (celui que tu utilises pour écrire ton code).. tu as surement une option pour choisir l'encodage à utiliser.
Sinon.. tu prends notepad++ ... tu ouvres tes fichiers.. tu vérifies que l'encodage est en UTF8 .. tu sauvegardes tes fichiers.. et tu les remets sur le serveur.

Si les caractères accentués proviennent de ta Base de données.. il faudrait déjà regarder comment ils sont codés dedans .....

Après.. pour afficher du texte provenant de ta BDD .. tu peux regarder du côté de l' HTML_ENTITY_DECODE http://php.net/manual/fr/function.html-entity-decode.php
et aussi autour des fonction UTF8_ENCODE() et/ou UTF8_DECODE()



0
RealTFA Messages postés 27 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 4 novembre 2015
22 nov. 2014 à 15:45
Merci jordane45 pour ton aide!

J'utilise "Sublime Text 2" pour coder mon site. Oui, j'ai déjà vue l'encodage du site web sur des logiciels pour coder. Voila ce que je vois sur mon éditeur: [IMG]http://i.imgur.com/ndMjCeD.png/IMG

J'ai déjà tenté, mais ça ne semble pas fonctionner. :(

Merci.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344 > RealTFA Messages postés 27 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 4 novembre 2015
22 nov. 2014 à 16:13
Donc je réitère ma question précédente ....

Ton souci vient ( plusieurs réponses possibles ) :
- Des textes issus de ta base de données ?
- Des textes écrits directement dans ton fichier php ?
- Ca ne le fait qu'avec cette page ?
- Ca le fait avec toutes les pages de ton site ?

Et aussi :

Ton site est hébergé sur un serveur ou en local sur ta machine ?
=> Si tu testes en LOCAL .. as tu le même souci ?
=> Si tu passes par un hébergeur... lequel est-ce ?
0
RealTFA Messages postés 27 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 4 novembre 2015
22 nov. 2014 à 16:18
Il est héberger sur "5freehosting.com".
Oui, il semble que ce n'est que cette page qui a le problème.

Parfois je modifie ma page directement dans le fichier sur le serveur par FTP. Je ne sais pas si sa pourrais être cela. Selon moi non, car j'ai toujours fais ça, et je n'ai jamais eu se problème (sauf si je n'ai pas préciser " <meta charset='UTF-8'> ".
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
22 nov. 2014 à 16:31
Et pour mes autres questions ?
0
RealTFA Messages postés 27 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 4 novembre 2015 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
22 nov. 2014 à 16:33
-Je n'ai pas de BDD
-Souvent je modifie directement dans le serveur via FTP
-Oui, que cette page
-Non, sauf si je ne met pas 'UTF-8'

=> Non, je l'héberge
=> Mon serveur est "5freehosting.com"
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
25 nov. 2014 à 16:04
Bonjour,

Votre problème d'encodage UTF-8 revient de manière réccurente... Je vous rassure, même des "pros" se cassent les méninges sur ce problème.

Ici un article qui explique bien comment maîtriser toute la chaîne de programmation en UTF-8:
http://html5.immo-scope.com/article/general_applisFullUtf8

A+
0
Rejoignez-nous