Sur plateforme windows un appel iconv(‘UTF-8’,‘UTF8’,“machaine”) sort en erreur, pas sur linux.
Dans ./core/om_fomulaire.class.php, la méthode recupererPostVar() a donc été corrigée pour effectuer:
$dbcharset = (DBCHARSET == “UTF8” ? “UTF-8” : DBCHARSET);
[…]
$value = iconv(
mb_detect_encoding($value, $encodages),
$dbcharset,
$value
);
La proposition est de faire plus propre, bien que plus lourd en risque de régression:
*Positionner DBCHARSET à ‘UTF-8’ par défaut dans:
./dyn/locales.inc.php
./core/om_locales.inc.php
*Ramener le code de recupererPostVar() à la situation précédente sans $dbcharset
dans ./core/om_fomulaire.class.php
*Remplacer ‘UTF8’ par ‘UTF-8’ dans les tests avant appel à la fonction utf8_decode() dans les fichiers:
./core/db_fpdf.php
./core/om_table.class.php
./spg/autocomplete.php
on peut aussi en profiter pour utiliser de façon uniforme :
-soit utf8_decode() limité à la conversion ISO-8859-1 en UTF-8
-soit iconv() plus généraliste “ASCII”, “Windows-1252”, “ISO-8859-15”, “ISO-8859-1” …