Bonjour,
Je préfère expliquer mon bug en français sinon je ne vais pas y arriver en anglais.
J'utilise i18n depuis la base de données mysql avec les tables catalogue et trans_unit. Ma base de données est définie comme étant en latin1_swedish_ci.
J'ai dans ma table de traduction un titre à traduire évenement en évents. (je met volontairement le é)
Lorsque j'essaie d'utiliser la méthode ('évenement') pour traduire cela me renvoie l'erreur
faultCode1faultStringNotice:iconv() [function.iconv]: Detected an incomplete multibyte character in input string in C:\wamp\www\www.soizick.com\lib\symfony\i18n\util.php on line 172
Ci dessous les méthodes ou cela plante dans le fichier util.php.
Si je met en commentaire ci dessous les traitement dans ces 2 fonctions toutes mes traductions fonctionnent correctement. Ceci dans les 3 langues que j'ai (italien, francais et anglais).
function I18N_toUTF8($string, $from)
{
/*$from = strtoupper($from);
if ($from != 'UTF-8')
{
$s = iconv($from,'UTF-8',$string); //to UTF-8
return $s !== false ? $s : $string; //it could return false
}
*/
return $string;
}
function I18N_toEncoding($string, $to)
{
/*$to = strtoupper($to);
if ($to != 'UTF-8')
{
$s = iconv('UTF-8', $to, $string);
return $s !== false ? $s : $string;
}
*/
return $string;
}
J'ai bien spécifié dans settings.yml de ma partie publique et administration d'utiliser
charset: ISO-8859-1
Pourquoi convertir automatiquement en UTF-8 un texte avec un charset que l'on force dans settings.yml.
Autre bug lié :
Si j'essai de traduire ('évenement') en events et bien si je met en commentaire les 2 méthodes du dessus cela fonctionne très bien mais si je laisse comme c'est par défaut cela ne me traduit pas mes textes qui sont accentués.