Formatage données form. UTF-8

Eléphant du PHP | 291 Messages

12 mai 2008, 11:19

Bonjour,

J'aimerai créer une fonction qui à l'aide de paramètre me permettrais de tester mes nombreux formulaire. Ex de paramètre: $caractères_spéciaux, $nombre.. bref.

Lorsque j'appellerais la fonction je regarde les paramètres et test en fonction. Le problème que je rencontre c'est que je suis en UTF-8 et les conversions sont incompréhensibles !

comment vous y prenez vous pour vos formulaires ?
et par la même, comment stocké vous les accents (é,à,etc..) et caractère spéciaux, dans vos bases de données ? (html ou caractères)


Pour compléter, par exemple dans mon formulaire lorsque je rentre un é et que dans la fonction je précise que les accents sont interdit, je souhaiterais remplacer par l'équivalent sans accent grace à ceci :

Code : Tout sélectionner

<?php $input_form = strtr($input_form, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); ?>
mais le résultat est : A�
D'après ce que j'ai lu il me retourne de l'ISO et non de l'UTF-8

D'avance merci

ViPHP
ViPHP | 3607 Messages

12 mai 2008, 12:59

et si tu mets un
header('Content-Type: text/html; charset=utf-8');
avant ton code ?

Eléphant du PHP | 291 Messages

12 mai 2008, 13:10

bonjour,

c'est la première ligne de mon code :
	<?php
	
	header('Content-type: text/html; charset=UTF-8');  
	?>
	
	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<html>

	<head>


<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<meta http-equiv="content-script-type" content="text/javascript" />
		<meta http-equiv="content-style-type" content="text/css" />
		<meta http-equiv="content-language" content="fr" />
		<meta name="dc.language" content="fr" scheme="rfc1766" />
		<meta http-equiv="Pragma" content="no-cache" />
</head>
après je me suis peux être planté avec les méta ?
pour info le but c'est de faire un site multi-langue.

merci

x0s
Eléphanteau du PHP | 22 Messages

12 mai 2008, 13:18

Ce qui m'étonne, c'est que je n'ai jamais eu de problème pour passer de l'ASCII à l'UTF8, étant donné qu'il y a inclusion à l'identique.

Néanmoins, si tu dois faire face à un problème de conversion de type de donnée, il y a toujours et encore la doc officielle : http://fr2.php.net/manual/fr/function.utf8-encode.php

Eléphant du PHP | 209 Messages

12 mai 2008, 14:56

comment vous y prenez vous pour vos formulaires ?
et par la même, comment stocké vous les accents (é,à,etc..) et caractère spéciaux, dans vos bases de données ? (html ou caractères)
Pour que les caractères soient affichés correctement, j'ai du utiliser cette requête au début de mes scripts :
mysql_query("SET NAMES UTF8");
Si ça peut t'aider...