Bonjour,
Voilà ma bdd contient ce genre de caractere:
é pour é
ê pour ê
et je voulais savoir si il y avait un moyen de transformer tout le contenu de ma bdd via des update en caracteres dit speciaux pour le html soit:
é pour é
etc...
j'avais fait ce script mais qui ne fait pas ca il il ne sait pas definir quel type un champ attend.
Si qqun a une idée ou une proposition, je suis preneur

<?php
$rLink = mysql_connect("localhost", "root", "")or die("Impossible de se connecter : " . mysql_error());
$rListTable = mysql_list_tables("bdd");
$iTables = mysql_num_rows($rListTable);
$sContent='';
for ($i=0;$i<$iTables;$i++) {
$sTable=mysql_tablename($rListTable,$i);
$sSql='SELECT * FROM '.$sTable;
$rSql=mysql_query($sSql);
$iFields=mysql_num_fields($rSql)-1;
for($iField=0;$iField<=$iFields;$iField++){
$sNameField=mysql_field_name($rSql,$iField);
$aTable[$sTable][]=$sNameField;
}
while ($aResult = mysql_fetch_assoc($rSql)) {
foreach($aTable as $sTable=>$aField){
foreach($aField as $iField=>$sField){
$sResult=$aResult[$sField];
$sResult2=utf8_decode($aResult[$sField]);
$aFieldValueOrigin[$sField]=$sResult;
$mPosition=strpos($sResult2,'?');
if($mPosition===false || $sField=='id'){
$aFieldValueChange[$sField]=$sResult2;
}
}
}
$sSqlUpdate='update '.$sTable.' set';
$sSqlClause='where';
foreach($aFieldValueChange as $sField=>$sValue){
$sSqlUpdate.=' '.$sField."='".utf8_encode($sValue)."',";
$sSqlClause.=' '.$sField."='".$aFieldValueOrigin[$sField]."' AND";
}
$sSqlUpdate=substr($sSqlUpdate,0,strlen($sSqlUpdate)-1);//on vire la virgule
$sSqlClause=substr($sSqlClause,0,strlen($sSqlClause)-3);//on vire le AND
$sSqlUpdateEnreg=$sSqlUpdate.$sSqlClause;
$sContent.=$sSqlUpdateEnreg;
mysql_query($sContent);
}
}
mysql_free_result($rListTable);
mysql_close($rLink);
echo $sContent;
file_put_contents('./utf8.txt','');
file_put_contents('./utf8.txt',$sContent);
echo '<pre>';
print_r($aTable);
echo '</pre>';
?>
--------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie