Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je me confronte à un problème avec l'encodage (et moi qui pensait que j'allais passer à travers !!)
J'ai deux bases :
L'une en iso qui date de mathusalem, et l'autre doctrine, UTF8 etc...
Mes données sont prise dans l'ancienne base vont aller peupler des entité doctrine et vont ensuite être inséré dans la base Doctrine, mes deux connexions possède ces configurations :
[lang=php] array( 'charset' => 'utf8', 'driverOptions' => array (1002 => 'SET NAMES utf8'), )
Et mes table sont toute en utf8_unicode_ci.
Ma question est :
Y a t-il une raison obscure, un complot, le 1er avril en avance, ou une raison logique,
qui explique pourquoi, à la création d'un XML (SimpleXMLElement), j'obtiens une erreur
[lang=php] Proforma::setNewAddress(): string is not in UTF-8 // avec le code suivant a l'intérieur de cette méthode en erreur $xml->Address['Address1'] = substr($address->getAddress(), 0, 35);
J'ai vérifié la data et voici la phrase qui pose problème
Pôle de BlablaBla- 4è étage
Mon XML foire aussi donc à écrire le fichier en fait, il s'arrète au niveau de l'accent 4è
<Address Address1="Pôle de BlablaBla - 4
avec cette erreur :
[lang=php] output conversion failed due to conv error, bytes 0xC3 0x22 0x20 0x41 //lors du code suivant : $dom = dom_import_simplexml($xml)->ownerDocument; $dom->formatOutput = true; $toSave = $dom->saveXML();
et plus rien après...
Quelqu'un saurait pourquoi ? Que puis-je utiliser pour palier a ce soucis ?
Merci d'avance.
Dernière modification par JGreco (19-03-2015 13:21:22)
Hors ligne
Résolu, ce n'était même pas un problème due au framework, mais au fait que la fonction substr soit complètement obsolète, il faut utiliser mb_substr..
Hors ligne