Rare tekesn
Hoi,
Ik heb een array met wat gegevens erin, waaronder de titel van een link.
Deze wil ik invoegen in de database.
De array ziet er bijvoorbeeld zo uit. (Hij zit in de variabele $link)
Nu wil ik daar gewoon de volgende code voor gebruiken.
Nu geeft het de volgende output. Met allemaal rare tekens e.d.
Deze tekens worden ook zo in de database gezet, wat ik dus niet wil...
Het moet gewoon Frankrijk - Briançon - Le Signal du Prorel zo in de database worden gezet, zodat als ik het eruit moet halen, en op een webpagina moet zetten er nog simpel htmlentities om kan doen zodat het er uiteindelijk ook weer zoals Frankrijk - Briançon - Le Signal du Prorel uitziet.
Hoe komt dat hij van die rare tekens ervan maakt, en hoe moet ik dit oplossen?
Groeten,
Arian
Ik heb een array met wat gegevens erin, waaronder de titel van een link.
Deze wil ik invoegen in de database.
De array ziet er bijvoorbeeld zo uit. (Hij zit in de variabele $link)
Nu wil ik daar gewoon de volgende code voor gebruiken.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$new_link_sql = "
INSERT INTO dochterlinks (
titel
) VALUES (
'".mysql_real_escape_string($link['titel'])."'
)
";
// Even kijken wat hij ervan maakt.
echo '<pre>'.htmlentities($link['titel']).'<br />'.htmlentities($new_link_sql).'</pre>';
?>
$new_link_sql = "
INSERT INTO dochterlinks (
titel
) VALUES (
'".mysql_real_escape_string($link['titel'])."'
)
";
// Even kijken wat hij ervan maakt.
echo '<pre>'.htmlentities($link['titel']).'<br />'.htmlentities($new_link_sql).'</pre>';
?>
Nu geeft het de volgende output. Met allemaal rare tekens e.d.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
Frankrijk - Briançon - Le Signal du Prorel
INSERT INTO dochterlinks (
titel
) VALUES (
'Frankrijk - Briançon - Le Signal du Prorel'
)
INSERT INTO dochterlinks (
titel
) VALUES (
'Frankrijk - Briançon - Le Signal du Prorel'
)
Deze tekens worden ook zo in de database gezet, wat ik dus niet wil...
Het moet gewoon Frankrijk - Briançon - Le Signal du Prorel zo in de database worden gezet, zodat als ik het eruit moet halen, en op een webpagina moet zetten er nog simpel htmlentities om kan doen zodat het er uiteindelijk ook weer zoals Frankrijk - Briançon - Le Signal du Prorel uitziet.
Hoe komt dat hij van die rare tekens ervan maakt, en hoe moet ik dit oplossen?
Groeten,
Arian
Gesponsorde koppelingen:
Tja, dan zou je de ç veranderen in een c, niet dat het heel veel mensen heel erg zal opvallen misschien, maar eigenlijk zou het gewoon ç/ö/ë/é/ß/ê etc. blijven..
(Het probleem zit hem dus nog niet in de database hè... het zit er al voor...)
(Het probleem zit hem dus nog niet in de database hè... het zit er al voor...)
Gewijzigd op 01/01/1970 01:00:00 door Arian Stolwijk
Ziet eruit als een probleem met de character set. Dus bv. utf-8 die als iso-8859-1 wordt opgeslagen.
De grote vraag is dus: Gebruik je overal (!!!) dezelfde charset?
Zo niet, dan zul je overal dezelfde charset moeten instellen. De webpagina waar de input evt. vandaan komt, de database en tabellen en de webpagina waar de output weer heen gaat.
De grote vraag is dus: Gebruik je overal (!!!) dezelfde charset?
Zo niet, dan zul je overal dezelfde charset moeten instellen. De webpagina waar de input evt. vandaan komt, de database en tabellen en de webpagina waar de output weer heen gaat.
Het probleem zit zich nog voor de database hè.. ik wilde het er gewoon zo inzetten, maar toen bleek dat hij er wat raars van maakte.
De gegevens haal ik trouwens uit een xml file, maar dat zou volgens mij niet zoveel uitmaken, want als ik de print_r() functie gebruik, dan doet hij het gewoon zoals ik het verwachte, maar als ik direct $link['titel'] gebruik of echo, dan maakt hij er rare tekens van...
De gegevens haal ik trouwens uit een xml file, maar dat zou volgens mij niet zoveel uitmaken, want als ik de print_r() functie gebruik, dan doet hij het gewoon zoals ik het verwachte, maar als ik direct $link['titel'] gebruik of echo, dan maakt hij er rare tekens van...
Quote:
En welke charset gebruikt deze? Ik leg niet voor niks de nadruk op 'overal'...De gegevens haal ik trouwens uit een xml file, maar dat zou volgens mij niet zoveel uitmaken
htmlentities() moet je even niet gebruiken, wellicht gaat daar ook wat mis mee. Kijk eerst eens naar de bron, dan de query, dan de database en dan later nog eens naar een webpagina waar je e.e.a. netjes wilt gaan weergeven. Pak de problemen 1-voor-1 aan.
Als ik die htmlentities weg haal dan geeft hij ze wel goed op het scherm weer... (hetzelfde als in de html broncode)
dus met de ç e.d.
bovenaan de xml feed staat:
de xml feed heeft dus een ISO-8859-1 charset.
Moet ik dat dan ook zo bij mijn database veld/tabel instellen...
en op de pagina waar het uiteindelijk weer uit de database wordt gehaald en weergegeven. (die heeft trouwens ook ISO-8859-1)
Hoe moet ik dat dan doen?
dus met de ç e.d.
bovenaan de xml feed staat:
de xml feed heeft dus een ISO-8859-1 charset.
Moet ik dat dan ook zo bij mijn database veld/tabel instellen...
en op de pagina waar het uiteindelijk weer uit de database wordt gehaald en weergegeven. (die heeft trouwens ook ISO-8859-1)
Hoe moet ik dat dan doen?



