String wird in der Excel nicht richtig dargestellt (PhpSpreadSheet)

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

EuroCent

Klappstuhl 2.0
Hallo zusammen,

sitze vor einem Problem.

Ich versuche einen String in die Excel zu packen.
Klappt auch soweit, nur dass er die Umlaute nicht korrekt darstellt.

Der String sieht so aus:
Hinter%20der%20M%26uuml%3Blltonne%207%20%2C%2001234%20M%26uuml%3Bnsterhaus

mittels rawurldecode() wandelt er mir das auch korrekt um:
Hinter der Mülltonne 7 , 01234 Münsterhaus

in Excel kommt es aber so an:
Hinter der Mülltonne 7 , 01234 Münsterhaus

Habe es schon mit utf8_decode sowohl als auch mit utf8_encode, str_replace, str_ireplace, htmlentities, htmlspecialschars...
Entweder kommt als Wert "FALSCH" in Excel oder der Wert ändert sich gar nicht erst :(

Hier der Code:
PHP:
<?php
$sheet->setCellValue('D' . $cell, rawurldecode($row['Adresse']));
?>
 
Das ist ein bisschen komisch, denn was da in deinem Excel-File rauskommt sind HTML-Entitäten (die Dinger die mit dem &-Zeichen anfangen). Das ist also kein Zeichensatzproblem (utf8_en/decode wird also nicht helfen). Theoretisch müsste http://php.net/manual/de/function.html-entity-decode.php das Problem beheben können, ich würde aber eher mal schauen, warum die Entitäten dort überhaupt drin stehen.
 
Die Frage hab Ich mir auch schon gestellt, in der DB werden sie als Text gespeichert, werden vorweg aber nicht codiert. Was ja theoretisch nicht so schlimm ist.

Das Problem ist nur aktuell, dass er alle anderen Felder wo keine Sonderzeichen enthalten sind, korrekt anzeigt.

Ich hatte es auch schon mit Suchen und Ersetzen probiert, da bekomm Ich wie gesagt dann die Mitteilung bei den Feldern in Excel "FALSCH".

Entweder muss Ich die Logik um bauen was die Daensätze in der DB angehen, oder es gibt dafür eine einfache Lösung. :)

Ich probiere es mal mit deinem Tipp aus :)
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Zurück