Vad använder du för encoding? testa att lägga till en meta-tag typ som denna
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
mv icaaq
36 svar · 1 299 visningar · startad av lillebror
Hej,
Jag har börjat med att försöka validera mina sidor och jag måste säga att det går rätt bra när jag lär mig vad det är validatorn anmärker på kopplat till vad som måste åtgärdas.
Nu har jag kommit till "non SGML character number". Den gillar inte vissa tecken.
...i luften efter ett långt ”markuppeh��ll”</a>
Vad är det som är fel i texten ovan kopplat till felmeddelandet och mer intressant hur gör jag för att åtgärda det? :)
Vad använder du för encoding? testa att lägga till en meta-tag typ som denna
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
mv icaaq
Denna kör jag med:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Det verkar ju vara den som du föreslog. Samma alltså.
Det kan vara de konstiga citattecknen eller fyrkanterna (som jag antar skall vara något annat?)
You have used an illegal character in your text. HTML uses the standard UNICODE Consortium character repertoire, and it leaves undefined (among others) 65 character codes (0 to 31 inclusive and 127 to 159 inclusive) that are sometimes used for typographical quote marks and similar in proprietary character sets. The validator has found one of these undefined characters in your document. The character may appear on your browser as a curly quote, or a trademark symbol, or some other fancy glyph; on a different computer, however, it will likely appear as a completely different character, or nothing at all.
Your best bet is to replace the character with the nearest equivalent ASCII character, or to use an appropriate character entity. For more information on Character Encoding on the web, see Alan Flavell's excellent HTML Character Set Issues reference.
This error can also be triggered by formatting characters embedded in documents by some word processors. If you use a word processor to edit your HTML documents, be sure to use the "Save as ASCII" or similar command to save the document without formatting information.
Jag har varit med om att andra har fått samma fel när de skrivit sin text i t.ex. ett ordbehandlingsprogram istället för en texteditor eller en wysiwyg-editor.
Lösningen då har varit att öppna dokumentet i sin vanliga html-editor eller i en vanlig texteditor och ersätta de felaktiga tecknen med samma tecken fast i ren text.
hypatia skrev:
Jag har varit med om att andra har fått samma fel när de skrivit sin text i t.ex. ett ordbehandlingsprogram istället för en texteditor eller en wysiwyg-editor.
Lösningen då har varit att öppna dokumentet i sin vanliga html-editor eller i en vanlig texteditor och ersätta de felaktiga tecknen med samma tecken fast i ren text.
Japp, så är det nog. Titta på citattecknen i raden här nedan. Hoppas bara att de visas som på sidan där jag kopierade det ifrån:
href="showarticle.php?articleID=20">Åter i luften efter ett långt ”markuppehåll”
Citattecknen på ömse sidor om ordet "markuppehåll" är felaktiga, så som de är som omger länken ska det vara. :) Det är ordbehandlaren (eller vad som nu har använts) som inte skrivit tecknen som standard UNICODE tecken. Händer ibland också med andra tecken, men oftast verkar det gälla just citattecknen av någon anledning.
Tack för era synpunkter!
Någon gång har jag syndat att öppna filen i exempelvis wordpad. Är det det som ställer till det enligt erat tidigare resonemang? Anledningen att jag gjorde det var för att vid ett tillfälle då jag öppnade samma fil i notepad så var den helt felformaterad. Texten/alla tecken bara löpte efter varandra...väldigt svårt att se vad som var vad då. Då öppnade jag den i WordPad vilket kanske var mindre bra.
Hur skall jag bära mig åt för att kunna ha kvar citattecknena? De är ju lagrade i databasen och hämtas när sidan laddas.
Du har tre st Doctypes.
och inget språk i htmltaggen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv">
Se om det hjälper att ändra det.
Jag har ju remmat alla doctyps utom den jag använder --> Transitional!
Lade till det som saknades i min <html>-tagg. Det blev ingen skillnad när jag validerade sidan igen.
En annan sak. Hur är det med meta-taggar. Är det något som man ska använda sig av för inuläget anmärker validatorn på det.
Ja det såg ja ju nu...
men om du använder transitional så sak du ha med lang="se" också.
xhtml tillåter inga stora bokstäver i koden så det ska se ut så här då
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
Skulle också skriva att allt som finns som också används som kodtecken som t.ex " eller & eller vad det nu kan vara, får inte användas i text. Då kan det missuppfattas av webläsaren. Alla dessa tecken har en annan kod. Kan vara “ före och ” efter det som ska citeras. Förmodligen enklast om du använder ett annat språk för att hämta informationen och då får du peta in det i den koden.
mvh
tanten skrev:
Förmodligen enklast om du använder ett annat språk för att hämta informationen och då får du peta in det i den koden.
Hur menar du nu? Ska jag processa texten och ersätta dessa tecken i PHP? Finns det inte någon funktion som kan ersätta dessa specialtecken? :OO
tanten skrev:
men om du använder transitional så sak du ha med lang="se" också.
Jaså? Jag trodde att Appendix C gällde för Strict och Frameset också.
Ang. fnuttar och frågetecken, se http://intertwingly.net/stories/2004/04/14/i18n.html#CleaningWindows. Din editor använder helt enkelt windows-1252 medan du anger iso-8859-1.
zscorpan:
Jaså? Jag trodde att Appendix C gällde för Strict och Frameset också.
Visst, ursäkta en gammal tant så dags på natten. lang ska bort i 1.1:an och finnas i alla 1.0
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
Hur menar du nu? Ska jag processa texten och ersätta dessa tecken i PHP? Finns det inte någon funktion som kan ersätta dessa specialtecken?
Vet ej, jag knappar för hand i anteckningar.
name-felet får du bort när du ändrat Meta till <meta name="... liten bokstav.
tanten skrev:
name-felet får du bort när du ändrat Meta till <meta name="... liten bokstav.
Det var så enkelt alltså :)
Var någonstans kan jag få tag på en specifikation på exakt vad XHTML 1.0 Strict respektive Transitional tillåter? Alltså vilka taggar jag kan använda mig av osv...
Kan man få en rekommendation på en bra edit som använder sig av iso-8859-1? Gör notepad det? Misstänker att WordPad inte gör det? Tolkade jag det rätt förut att fel kan uppstå i själva php-filen om jag en gång sparat det med fel format? Alltså inte enbart text som kommer från databasen och som är otillåten enligt specifikationen?
Jag har aldrig upplevt det som beskrivits ovan om att felen uppstår i "datorn". Viktigast är väl hur man skickar upp php-filer till servern. Kan du se i ditt ftp-program om de skickas som ascii eller binary? Auto ska väl fungera, men jag misstänker att det inte alltid är så.
Var någonstans kan jag få tag på en specifikation på exakt vad XHTML 1.0 Strict respektive Transitional tillåter?
Jag gjorde så att när jag hade ett dokument som validerade som transitional, så tvingade jag validatorn att validera det som om det vore Strict. (se bild)
Och tog mig an varje problem för sig och sökte då i första hand på W3:s sidor. Är lat :P
lillebror skrev:
Kan man få en rekommendation på en bra edit som använder sig av iso-8859-1? Gör notepad det? Misstänker att WordPad inte gör det? Tolkade jag det rätt förut att fel kan uppstå i själva php-filen om jag en gång sparat det med fel format? Alltså inte enbart text som kommer från databasen och som är otillåten enligt specifikationen?
Jag kan ju bara skriva om hur vi har löst de fall jag har stött på och då var det en av mina bekanta som skrev texter till sin blogg och sprade dem i ett ordbehandlingsprogram innan hon la in den i databasen. Det var just citattecknen och några ytterligare tecken som blev "fel" då. Asp-filen var i det fallet korrekt medan det låg skräptecken i databasen.
Om texten ligger i databasen bör du byta ut tecknen där och om de ligger statiskt i php-filen bör du byta ut tecknen där. Vi använde notepad, men jag tror att de flesta bra html-editorer använder ren text. Jag använder Homesite 5 men Dreamweaver ska också funka bra.