Versio

Rare tekesn

Overzicht Reageren

Arian Stolwijk

Arian Stolwijk

13/11/2007 20:14:00
Quote Anchor link
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)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Array
(
    [titel] => Frankrijk - Briançon - Le Signal du Prorel
)


Nu wil ik daar gewoon de volgende code voor gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';

?>


Nu geeft het de volgende output. Met allemaal rare tekens e.d.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
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
 
PHP hulp

PHP hulp

25/05/2012 14:07:53
Gesponsorde koppelingen:
 
GaMer B

GaMer B

13/11/2007 20:31:00
 
Arian Stolwijk

Arian Stolwijk

13/11/2007 20:35:00
Quote Anchor link
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...)
Gewijzigd op 01/01/1970 01:00:00 door Arian Stolwijk
 
Frank -

Frank -

13/11/2007 20:36:00
Quote Anchor link
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.
 
Arian Stolwijk

Arian Stolwijk

13/11/2007 20:46:00
Quote Anchor link
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...
 
Frank -

Frank -

13/11/2007 20:50:00
Quote Anchor link
Quote:
De gegevens haal ik trouwens uit een xml file, maar dat zou volgens mij niet zoveel uitmaken
En welke charset gebruikt deze? Ik leg niet voor niks de nadruk op 'overal'...

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.
 
Arian Stolwijk

Arian Stolwijk

13/11/2007 20:56:00
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?xml version="1.0" encoding="ISO-8859-1" ?>

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?
 



Overzicht Reageren