gérer différents encodages
salut,
j'ai un probleme sur lequel je bloque.
j'ai une page qui doit appeler différents documents (html/xhtml/xml), chacun de ces documents a son propre encodage (windows-1252/ISO-8859-1/...).
évidemment, j'ai des problemes avec les cars spéciaux ... ma page est en UTF-8 et je pensais que décoder et encoder les docs en UTF-8 serait suffisant, voici ou j'en suis :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $data = @file_get_contents($_GET['file']);
if ($data !== false) {
$charset = 'utf-8';
if( @preg_match("#<meta.+?content-type.+?charset\s*=\s*([a-z0-9-]+)#isu", $data, $tb) ){
$charset = strtolower($tb[1]);
}
header('Content-type: text/html; charset=utf-8');
if( $charset !== 'utf-8' ){
$data = iconv($charset, 'utf-8', $data);
}
print($data);
........ |
en 1er je recup le charset du doc source, et avec iconv je le traduit en utf-8.
mais meme comme ca j'ai encore des problemes avec certains docs ...
quelqu'un sait pourquoi ?
merci