Toon posts:

[Charset] speciale tekens gaan fout, maar wel goede charset?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Tweakers,

Ik heb een probleem met een nieuwe site, waarin "speciale" tekens zoals ë gebruikt worden, deze worden namelijk verkeerd weergegeven. Zo wordt een ë > 뮠 enz. Dit zou moeten komen door een verkeerde charset declaratie in de meta tags, maar deze staan volgens mij goed. Onderstaand is het gedeelte uit de <head> sectie:
code:
1
<meta http-equiv="content-type" content="text/html; charset=utf-8" />


De link is: http://80.60.182.91/frank...php?page=nl/home_home.php

Als je denkt dat sommige tekens wel goed weergegeven worden dan klopt dat, maar dat komt omdat die hard in de code staan, zoals ë voor een ë enz.

Ik heb geen flauw idee waar het nu dan wel aan ligt. Alvast bedankt..

Verwijderd

Zoek eens op 'html entities'. De ë kun je bijvoorbeeld in de broncode zetten als
code:
1
&euml;

  • disjfa
  • Registratie: April 2001
  • Laatst online: 08-01 11:17

disjfa

be

Verwijderd schreef op zondag 04 september 2005 @ 01:21:
Zoek eens op 'html entities'. De ë kun je bijvoorbeeld in de broncode zetten als
code:
1
&euml;
^^ zoals deze meneer zegt. utf8 ondersteund dat soort tekens niet aangezien ze geen utf8 tekens zijn....

disjfa - disj·fa (meneer)
disjfa.nl


  • Mischa_NL
  • Registratie: Mei 2004
  • Laatst online: 01-02-2023
mompelt iets over iso-8859-15

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 18:25

crisp

Devver

Pixelated

Je server zegt dat het ISO-8859-1 is, en HTTP headers gaan boven meta-tags ;)

Intentionally left blank


Verwijderd

Topicstarter
Verwijderd schreef op zondag 04 september 2005 @ 01:21:
Zoek eens op 'html entities'. De ë kun je bijvoorbeeld in de broncode zetten als
code:
1
&euml;
Sorry dat stond in de startpost verkeerd, maar op de plekken waar het goed gaat staat dit idd in de code. Dat bedoelde ik met hard in de code..

De heren onder je zeggen dat zij als codering ISO te zien krijgen, terwijl ik als ik in IE Beeld > Codering kies UTF-8 te zien krijg?

Als ik hem op een andere server zet doet hij het trouwens nog niet en het aanpassen van de codering in IE maakt ook geen verschil. Crisp, hij zorg ik ervoor dat die headers niet verstuurd worden dan?

Het gekke is dat bij deze server eerder gemaakte sites geen problemen gaven met dezelfde charset..

  • Harm
  • Registratie: Mei 2002
  • Niet online
PHP:
1
header("Content-type: text/html; charset=utf-8");
Bovenaan je pagina zetten, nog voordat je daadwerkelijk content gaat outputten. Lees verder ook eens wat in de PHP manual over dit onderwerp, bijvoorbeeld onder 'header'.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 18:25

crisp

Devver

Pixelated

Overigens is het dan ook belanrijk dat je sourcefiles UTF-8 gecodeerd zijn

Intentionally left blank


Verwijderd

Topicstarter
Harm schreef op zondag 04 september 2005 @ 12:02:
PHP:
1
header("Content-type: text/html; charset=utf-8");
Bovenaan je pagina zetten, nog voordat je daadwerkelijk content gaat outputten. Lees verder ook eens wat in de PHP manual over dit onderwerp, bijvoorbeeld onder 'header'.
Ik heb dit gedaan, maar nog steeds werkt het niet. Zie http://80.60.182.91/franklinterhorst.nl/

Het viel mij opeens op dat aan de rechterkant de speciale tekens wel goed weergegeven worden. Na wat gekloot bleek dat als ik de tekst niet included maar direct in de content div plaats, de speciale tekens in de content div ook goed worden weergegeven?

Het lijkt dus niet aan de codering te liggen maar het includen door PHP? De code waarin ik een file included in de content div is als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
  if (isset($_GET['page'])) {       // variabele bestaat
   $page = $_GET['page'];           // laad variabele in uit URL
  } else {
   $page = "";                      // geen variabele, leeg maken
  }
  if ($page) {                      // er is een variabele meegegeven in URL
   if (!file_exists($page)) {       // bestaat pagina
    $page = "nl/error.php";         // foutscherm 
   }
  } else {                          // geen pagina meegegeven
   $page = "nl/home_home.php";          // standaardvulling
  }
 include($page); 
?>


Hebben jullie enige idee hoe dit kan? Crisp, wat bedoel je met je opmerking: "Overigens is het dan ook belanrijk dat je sourcefiles UTF-8 gecodeerd zijn"

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Dit kan je maar beter snel aanpassen, elk willekeurig bestand van je pc is nu op te vragen.

| Toen / Nu


Verwijderd

Topicstarter
Hoezo?

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Je doet geen controle of het bestand in de directory met pagina's staat.

| Toen / Nu


Verwijderd

Topicstarter
en dan? Kan misschien beter, maar dan nog is toch niet elk bestand van mijn pc op te vragen? Ben wel benieuwd hoe je dat zou moeten dan?

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Elk bestand waarvan je de naam weet kan je downloaden. Het wordt gewoon geinclude.

| Toen / Nu


Verwijderd

Topicstarter
SuperRembo schreef op zondag 04 september 2005 @ 22:32:
Elk bestand waarvan je de naam weet kan je downloaden. Het wordt gewoon geinclude.
Netjes dat je me er op wijst, maar eerlijk gezegd vind ik dit niet zo erg. Ik zal er nog wel eens naar kijken, maar ten eerste moet je de bestandsnaam en locatie weten en ten tweede wordt hij alleen geinclude. Niet heel erg dus..

Maar het probleem staat nog open :*) , dat die include functie ervoor zorgt dat de speciale tekens verkeerd weergegeven worden.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 18:25

crisp

Devver

Pixelated

Verwijderd schreef op zondag 04 september 2005 @ 22:36:
[...]


Netjes dat je me er op wijst, maar eerlijk gezegd vind ik dit niet zo erg. Ik zal er nog wel eens naar kijken, maar ten eerste moet je de bestandsnaam en locatie weten en ten tweede wordt hij alleen geinclude. Niet heel erg dus..
Het is voor de meeste OS-en niet moeilijk te raden waar bestanden staan met gevoelige informatie...
Maar het probleem staat nog open :*) , dat die include functie ervoor zorgt dat de speciale tekens verkeerd weergegeven worden.
Nogmaals: zijn de bestanden die je include wel als UTF-8 opgeslagen?

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op zondag 04 september 2005 @ 22:41:
[...]
Het is voor de meeste OS-en niet moeilijk te raden waar bestanden staan met gevoelige informatie...


[...]

Nogmaals: zijn de bestanden die je include wel als UTF-8 opgeslagen?
Zal er dan toch nog een keer naar kijken, bedankt voor de tip SuperRembo. Crisp, ik begrijp echt niet wat je bedoelt met "zijn de bestanden wel als UTF-8 opgeslagen?"

Hoe moet je een bestand als UTF-8 opslaan dan? En hoe kun je zien of een bestand als UTF-8 is opgeslagen? Dit is voor het eerst dat ik hier van hoor 8)7

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 18:25

crisp

Devver

Pixelated

In een beetje editor kan je aangeven met welke encoding een textbestand opgeslagen moet worden; zelfs met notepad kan dat (bij file - save as staat onderin een keuzevakje voor de encoding).

Intentionally left blank


Verwijderd

Topicstarter
Ongelofelijk! Dat was het dus inderdaad. Ik gebruik DreamWeaver om te coden en heb daar nog nooit op gelet. Ik heb het nu verholpen door de te includen files even opnieuw op te slaan met notepad.

Bedankt voor de wijze les heren.

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Waarschijnlijk kan je in Dreamweaver ook wel ergens instellen welke encoding je wilt gebruiken :)

Verwijderd

Topicstarter
Ja was net gaan kijken en dat kan inderdaad, staat onder Edit > Preferences > New Document

Had deze opmerking wel verwacht trouwens, die tweakers zijn altijd bij de les ;)

[ Voor 4% gewijzigd door Verwijderd op 04-09-2005 23:16 ]

Pagina: 1