Newline en HTML Encoding
Ik krijg een xml bestand aangeleverd die ik verwerk en in een db zet. Nu is het probleem dat de encoding niet goed te krijgen is en het vervangen van de \n niet werkt. Ik heb ookal rondgezocht op dit forum, en geen van de opties werken.
Newline vervangen:
Dit is de code die ik gebruik:
Als ik dit toepas op tekst die ik uit de db haal, gebeurt er niks mee. Wat doe ik fout? Het werkt wel als ik dezelfde tekst zo probeer:
Maar op de tekst die uit de db gehaald wordt, werkt niks. :S
Encoding:
De db staat op latin1_swedish_ci het html bestand bevat:
Code (php)
1
2
3
4
2
3
4
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<html>
<head><title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
Ook de tekst in het xml bestand is in ISO-8859-1 opgesteld.
Ondanks dit blijft hij toch de rare tekens weergeven. :S
Ik hoop dat iemand mij kan helpen met 1 of allebij de problemen.
Alvast bedankt voor jullie tijd en moeite.
Groeten,
Rico
Gewijzigd op 01/01/1970 01:00:00 door Rico
Bas Matthee schreef op 04.04.2008 11:08:
Ookal geprobeert, werkt ook niet.
Zou het probleem komen doordat de gegevens uit een xml bestand naar de db is gegaan? Maar ik heb het ook getest om het goed in de db te zetten ook weer zonder effect.
Ik hoop dat iemand ziet wat ik nu fout doe, want ik snap er niks meer van waarom het niet werkt.
Verder, kun je ons voorbeelden geven van de orginele karakters die als output helemaal iets anders zijn?
helaas. Maar hier kan ik dus helaas niks aan veranderen.
De input is hetzelfde als de output. Als er in het xml bestand "dit is\neen regel met rare °C tekens" staat dan wordt deze ook zo in de db gezet, en wordt deze ook zo opgehaald uit de db. Ik heb al geprobeert om het al voordat het de db ingaat te corrigeren, maar dat lukt ook niet. Onder de rare tekens die ISO-8859-1 zou moeten opvangen vallen gr/m² , geïnstalleerd , kopieën.
Het lijkt erop dat de fout tijdens de verwerking van het xml bestand zou zijn, maar heb daar ookal alles wat ik vond geprobeert, en nergens kreeg ik het juiste resultaat.
Ik hoop dat ik het een beetje duidelijk heb kunnen maken hoe de verwerking is. Ik hoop echt dat iemand mij kan zeggen wat ik fout doe, ik snap er iig niks meer van.
@Riemer: Elk bestand heeft dezelfde encoding ook de db heeft dezelfde encoding als de bestanden. Alles staat op ISO-8859-1. Het aangeleverde xml bestand heeft geen encoding in de 1ste regel De input is hetzelfde als de output. Als er in het xml bestand "dit is\neen regel met rare °C tekens" staat dan wordt deze ook zo in de db gezet, en wordt deze ook zo opgehaald uit de db. Ik heb al geprobeert om het al voordat het de db ingaat te corrigeren, maar dat lukt ook niet. Onder de rare tekens die ISO-8859-1 zou moeten opvangen vallen gr/m² , geïnstalleerd , kopieën.
Het lijkt erop dat de fout tijdens de verwerking van het xml bestand zou zijn, maar heb daar ookal alles wat ik vond geprobeert, en nergens kreeg ik het juiste resultaat.
Ik hoop dat ik het een beetje duidelijk heb kunnen maken hoe de verwerking is. Ik hoop echt dat iemand mij kan zeggen wat ik fout doe, ik snap er iig niks meer van.
Weet je wel zeker dat er \n in staat.
Werkt dit ?
@Miky: Als alléén \n het niet doet zal \r\n het dus zeker niet doen.
Een wilde gok, probeer in de HTML bestand de karakterset te zetten naar UTF-8.
SanThe schreef op 04.04.2008 16:38:
Weet je wel zeker dat er \n in staat.
Lijkt me moeilijk om me daarin te vergissen.. :D \n is newline en die staat vast tussen 2 woorden in.. Dus ja dat weet ik zeker.
@Riemer: Ook al geprobeert en lost niks op helaas.
Werkt dat niet? (Je escapet hiermee de \n.)
Djemo schreef op 04.04.2008 18:48:
Werkt dat niet? (Je escapet hiermee de \n.)
Werkt dat niet? (Je escapet hiermee de \n.)
AAAAA ik wist wel dat het iets doms zou zijn wat ik niet doorhad... echt dat ene \ werkt helemaal.. :D Heel erg bedankt, dan is iig 1 probleem opgelost. :D Bedankt Djemo. En ook de rest bedankt voor het meekijken wat ik nu eigenlijk niet had gedaan. :D
Nu nog het encoding probleem wat heel vreemd is, maar denk dat het ook zoiets kleins is.
Gewijzigd op 01/01/1970 01:00:00 door Rico
Dit is wat ik toe heb gevoegd na eerst verbinding met de db te hebben gemaakt.
Het werkt helemaal perfect nu. :D Echt super bedankt allemaal. Heb het eindelijk goed staan na ruim een week.. :D