- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Conversione xml e inserimento in mysql
-
Conversione xml e inserimento in mysql
Primo messaggio...
Ho un sito sviluppato con OsCommerce, ora ho un po' di codice php che mi inserisce nel db mysql i dati dei miei prodotti prelevandoli da un file xml.
Nel file xml ho un campo che proprio non riesco ad importare correttamente, che è il seguente:<DescriptionHtml><ul> <li> vsfdvbcdbcxbxcbb </li> <li> bvcbvcbvcbvcbvcb </li> <li> bcbvcbvbvbvcbvcbvcbcvv </li> </ul></DescriptionHtml>
Il file xml è in UTF-8. Nel db viene inserito solamente:
>
Se invece inserisco solamente del testo viene importato tutto senza problemi. A questo punto, date le mie scarse conoscenze di php, ho un po' di problemi:
- devo convertire i caratteri (>, ecc ecc) in maniera tale che vengano inseriti correttamente nel db come tag html ma non riesco a farlo, tutte le funzioni che ho provato non mi hanno dato risultati
- devo capire perchè viene troncato e inserito solo l'ultimo >
- ho molti altri problemi che affronterò dopo di questo...:D:D:D
Tengo a precisare che il codice per l'importazione non lo creato io ma mi è stato sviluppato (molto male e oltretutto mi è stato consegnato pieno di problemi irrisolti), quindi sono ben accettati tutti i consigli.
;););)
-
Andando avanti a tentativi mi sono accorto di un'altra cosa, nell'xml le accentate sono così, questa è una "é":
A©
:()::()::():
Scartabellando tra i vari file ho trovato questa funzione:
[PHP]function __characterDataHndlr($parser, $data) {
$data = trim($data);
// $data = html_entity_decode(mb_convert_encoding(trim($data), 'Windows-1252', 'UTF-8'), ENT_NOQUOTES, 'Windows-1252');
if ( $data != "" ) {
if ($this->currElement !== "" && $this->workingProduct !== null)
switch($this->currElement) {
case CATEGORY: $this->workingProduct->setCategory($data); break;
case SUBCATEGORY: $this->workingProduct->setSubcategory($data); break;
case CUSTOMFIELD1: $this->workingProduct->setBrand($data); break;
default:
$this->dataBuffer = $data;
}
}
}[/PHP]Potrebbe essere questa a gestire il tutto?
:?:?:?