Detta med tecken

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
WYA



Medlem i: 6099 dagar
Från: Bohuslän
Status: Offline



#742892
Inlägg Skrivet: 2021-01-08 11:52      Ämne: Detta med tecken Citera

Hej,
Long time, men nuvarande PHP 7.4 bråkar på mig.

Har en
KOD:
1:
<option value="Möte">M&ouml;te</option>
2:
 

I huvudet står det:
KOD:
1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="SE" dir="ltr">
3:
<head profile="http://gmpg.org/xfn/11">
4:
<title>Titel</title>
5:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
6:
 


När jag väljer Möte och kollar $POST-strängen, så står det M?te (svart ruter med frågetecken). Hur bibehåller jag att $POST fortfarande har Möte?
 

_________________
if (!Cogito ergo sum )
{
errare humanum est;
continue;
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
harald_b
Moderator



Medlem i: 5324 dagar
Från: Tavesta
Status: Offline



#742893
Inlägg Skrivet: 2021-01-08 14:38      Ämne: Citera

Om du sätter value till "M&ouml;te" kommer det antagligen fungera. Just där i alla fall.
Men det är ingen bra lösning. Det bästa är att se till att ha kontroll över teckenkodningen, och då är inte iso-8859-1 någon bra idé. I nuläget brukar det oftast bli problemfritt om du ser till att använda utf-8 i alla sammanhang som har med normal webb att göra.

Så det bästa är att istället ändra M&ouml;te till Möte istället, och alltid undvika att använda teckenentiteter för åäö, för då ser man mycket lättare om man har teckenkodningsfel någonstans.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
WYA



Medlem i: 6099 dagar
Från: Bohuslän
Status: Offline



#742894
Inlägg Skrivet: 2021-01-08 15:53      Ämne: Citera

Tack för svar. Men där ligger redan tankarna. Det jag inte förstår just nu är hur vissa Post/Request löser det och andra inte. Kanske skillnad på interna strängar och externt inslagna. Typ skrivet Möte i en textinmatningsfält.
 

_________________
if (!Cogito ergo sum )
{
errare humanum est;
continue;
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
harald_b
Moderator



Medlem i: 5324 dagar
Från: Tavesta
Status: Offline



#742895
Inlägg Skrivet: 2021-01-09 01:35      Ämne: Citera

Teckenentiteterna används bara när html-kod skickas från servern till klienten. Sedan gör klienten om det till vanlig text. När datat som matas in skall skickas tillbaka till servern kodas det på annat vis. Normalt en variant ungefär likadan som data som skickas med url:er, där man använder %-koder för specialtecken.

"&ouml;" blir till "ö" hos klienten, som sedan blir till "%C3%B6" när det skickas tillbaka när formuläret postas (ifall du använder utf-8), eller "%F6" om du använder iso-8859-1.
Om klienten och servern inte är överens om det är utf-8 eller iso-8859-1 som skall användas så kommer det bli fel när datat skickas tillbaka, även om det blev rätt när formuläret skickades från servern till klienten, genom att man använde "&ouml;" istället för bara "ö"
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic