[HTML]Vreemd probleem met forms

Pagina: 1
Acties:
  • 109 views sinds 30-01-2008
  • Reageer

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 23-05 22:41
Ik heb een vreemd probleem op mijn site.

Als ik stukken tekst uit een word-documentje kopieer, en er komen bijvoorbeeld een " of een - in voor (welke dan wel door autocorrectie zijn omgezet; beetje moeilijk uit te leggen, maar als je autocorrectie aan hebt staan, en je typet in word 2003: 1 - 2 <enter> dan wordt die - een wat langere streep), dan valt de eerste post variabele steeds weg. Ik snap echt niet hoe dat komt, ik kan het probleem ook niet zo 1,2,3 isoleren, maar heeft iemand hier misschien ooit hetzelfde gehad?

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Dr_Frickin_Evil schreef op 15 juni 2004 @ 14:46:
dan valt de eerste post variabele steeds weg.
wat bedoel je hiermee???

het zou overigens aan je characterset kunnen liggen...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 23-05 22:41
Ik bedoel dus dat de 1e post variabele gewoon in zn geheel weg is gevallen, nadat ik het form gesubmit heb. (voor de duidelijkheid; isset($_POST['eerstvariabele']) is dus false)

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Hoe ziet dat formulier er uit dan?

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 23-05 22:41
Ik heb even 2 voorbeeldjes online gezet:
http://131.155.241.57/test/test.php
http://131.155.241.57/test/test2.php
Zet dit in de input velden:
“ – “

Die 2 files verschillen maar op 1 punt, en dat is de 2e button onderaan. In het 1e geval heb ik een <input type="submit"> en een <button>, in het 2e geval alleen een <input type="submit">. Je ziet dat het in het 1e geval niet werkt (voor zowel de knop 'submit' als 'button').

Nadat ik die 2 voorbeeldjes had gemaakt, kwam ik erachter dat het aan de charset ligt. Ik heb dit:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Maar wat moet dat dan zijn? En hoe komt het eigenlijk dat het de ene keer wel goed gaat, en de andere keer niet??

Overigens, dat vergat ik nog te melden, dit probleem heb ik alleen in Internet Explorer, NIET in Firefox!

[ Voor 21% gewijzigd door Dr_Frickin_Evil op 15-06-2004 16:00 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Bij mij doen ze het beide wel in IE6+win2k.

En als charset kun je misschien iso-8859-15 proberen

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 23-05 22:41
Ik heb er op mijn laptop ook geen last van. Dat is idd ook IE6+win2k. Ik heb die charset die je noemde ook geprobeerd, maar dat hielp ook niet. UTF-8 gaf nog vreemdere resultaten. Wat blijft er dan nog over? Als ik de regel:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Uit de <head> tag weghaal, dan doet ie het wel. Welke charset pakt IE eigenlijk standaard?

Verwijderd

Neem altijd UTF-8. Ga je karakter set niet aanpassen aan Word. Houdt rekening met de 27 verschillen. Zorg ervoor dat 'input' en 'output' hetzelfde karakter set gebruiken. Gebruik geen META element met "http-equiv" attribuut. Gebruik altijd HTTP.

(Iets vergeten?)

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Waarom altijd UTF-8 gebruiken dan? ISO-8859-1 is toch een prima karakter set? Daar staat tenminste de é in en hoef ik daar geen html-entitie van te maken.

Verwijderd

Ware het niet dat UTF-8 _alle_ karakters bevat en je _geen_ enkel karakter als entity hoeft te schrijven (ook geen Japanse karakters e.d.). Daarnaast is het weer niet zo dat in UTF-8 elk karakter gelijk 32 bits (4 byte) in beslag neemt.

Andre, check bijvoorbeeld de source: http://annevankesteren.nl/archives/2004/05/unicode en noem mij alle _relevante_ entities ;)

Als je iets over UTF-8 wilt zeggen, lijkt het me ook handig als je er eerst wat over gelezen hebt: http://www.joelonsoftware.com/articles/Unicode.html

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Dat probleem met de é had ik voornamelijk in mijn hoofd zitten door dit topic:
[rml][ php]Weergave é en dergelijke niet goed.[/rml]

En hoe zit het met de € dan?

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 08:56
in dit topic had ik precies hetzelfde probleem:

[rml][ asp/persist upload] vreemd probleem met checkbox[/rml]

en ik denk dat het dus door het char-set komt.

Ik heb toen een slechte oplossing gebruikt door gewoon een hidden field toe te voegen ;)

Verwijderd

André schreef op 16 juni 2004 @ 14:49:
Dat probleem met de é had ik voornamelijk in mijn hoofd zitten door dit topic:
[rml][ php]Weergave é en dergelijke niet goed.[/rml]

En hoe zit het met de € dan?
In dat topic blijkt gelijk hoeveel mensen van HTTP afweten. Ten eerste moet je dingen nooit met META elementen gaan lopen fixen, zoals dat gespecced staat is het namelijk nooit geimplementeerd, waardoor je ook nooit zult weten hoe het werkt. Daarnaast heeft de persoon waarschijnlijk een iso-* document gemaakt en de karakters niet naar utf-8 geconverteert of als utf-8 ingevoerd, zoals wel het geval moet zijn (zie boven).

En € werkt gewoon hoor.

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Verwijderd schreef op 16 juni 2004 @ 14:54:
[...]
In dat topic blijkt gelijk hoeveel mensen van HTTP afweten. Ten eerste moet je dingen nooit met META elementen gaan lopen fixen, zoals dat gespecced staat is het namelijk nooit geimplementeerd, waardoor je ook nooit zult weten hoe het werkt. Daarnaast heeft de persoon waarschijnlijk een iso-* document gemaakt en de karakters niet naar utf-8 geconverteert of als utf-8 ingevoerd, zoals wel het geval moet zijn (zie boven).

En € werkt gewoon hoor.
Prima, weet ik dat ook weer. ;)

Verwijderd

Even wat duidelijker. Er is een verschil tussen een header versturen en het daadwerkelijk "charset" van een document. Ik kan wel in Mozilla het charset (de header) veranderen, maar dat betekent nog niet dat Mozilla het gehele document gaat converteren passende bij de nieuwe header.

Daarom is het ook belangrijk dat _input_ en _output_ in hetzelfde karakterset zitten. Ander krijg je problemen, zoals dat op redelijk wat sites waar mensen geen verstand hebben van HTTP (Mezzoblue is een voorbeeld).

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 23-05 22:41
Even een kickje, want hier wil ik even op terugkomen.

Ik ben nog steeds met die site bezig, en stuit toch op wat probleempjes die (volgens mij) betrekking hebben op de charset. Zie bijvoorbeeld hier:
http://www.lighttowntours...hp?section=view&article=4
Mozilla maakt er een vraagteken van, en IE doet het helemaal leuk, maar er zouden oa ë en é e.d. moeten staan. Ik heb als charset UTF-8. De karakters staan wel goed in de database, waar de berichten uit gehaald worden.

Hoe komt dat?

Verwijderd

Je voorkomt dit soort gezeik door alleen van de standaard tekenset gebruik te maken, de ascii code van de tekens is dan maximaal 127.
Hoe kun je dan die bijzondere tekens weergeven? Met de htmlentities functie gebeurt er precies wat nodig is: alle bijzondere tekens worden vervangen door HTML entities.

[ Voor 9% gewijzigd door Verwijderd op 10-07-2004 19:45 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Staan de karakters ook als UTF-8 in de database? Ik heb voor www.animo68.nl ook alles omgezet naar UTF-8 en in de db staat de é er als é. En nu doen op mijn site alle tekens het perfect.

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 23-05 22:41
Verwijderd schreef op 10 juli 2004 @ 19:45:
Je voorkomt dit soort gezeik door alleen van de standaard tekenset gebruik te maken, de ascii code van de tekens is dan maximaal 127.
Hoe kun je dan die bijzondere tekens weergeven? Met de htmlentities functie gebeurt er precies wat nodig is: alle bijzondere tekens worden vervangen door HTML entities.
Ja, daar heb je gelijk in. Is de beste manier denk ik inderdaad. Echter, met de functie htmlentities krijg ik wel weer andere problemen, maar daar vind ik ook wel wat op.
André schreef op 10 juli 2004 @ 21:34:
Staan de karakters ook als UTF-8 in de database? Ik heb voor www.animo68.nl ook alles omgezet naar UTF-8 en in de db staat de é er als é. En nu doen op mijn site alle tekens het perfect.
De tekens staan in de database zoals je ze op je scherm zou moeten zijn. Hoe krijg ik ze dan als UTF-8 in de database? En misschien een stomme vraag, maar ik benader mijn database met PHPMyAdmin, via de browser natuurlijk, en dan zit ik toch ook meteen bepaalde charset, en kan ik dus niet zien hoe de karakers precies in de database staan?

Verwijderd

Staan de karakters ook als UTF-8 in de database? Ik heb voor www.animo68.nl ook alles omgezet naar UTF-8 en in de db staat de é er als é. En nu doen op mijn site alle tekens het perfect.
Beetje laat antwoord, maar PHPMyAdmin heeft een iso-8859-1 encoding en er is geen mogelijkheid om daar utf-8 van te maken dat ik weet tenzij je wat aan de bronbestanden gaat knutselen.

Verwijderd

O en htmlentities zuigt. Waarom entities gebruiken als je ze _niet_ nodig hebt? Zie ook: http://annevankesteren.nl/archives/2004/05/unicode-support
Pagina: 1