Kjapp og trygg hosting for Wordpress

Alt du trenger å vite om norske tegn..

Jazz

Medlem
Jeg har selv hatt mange problemer med norske og ikke-engelske tegn på websider jeg lager. Jeg har søkt ganske mye på google og rundt omkring på nettet for å løse slike problemer. Her er noen ting man må gjøre for å unngå problemer med norske tegn:

1 - Den klassiske metoden, bruk meta-tag på header-seksjonen av siden:
HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

2 - Encoding formatet du lagrer filen med spiller stor rolle på spesielt PHP filer med include() funksjoner. Her må man i tillegg til meta tags endre encoding typen. Hvis du bruker notepad++ kan du gå under "Encoding" og velge UTF-8. Jeg anbefaler UTF-8 without BOM, for da får du ikke trøbbel med PHP session problemer...Hvis du bruker Dreamweaver kan du gå under "Edit" - "Preferences" - "New Document"...

3 - Hvis du henter inn data fra en mysql database så er det ikke nok med meta tags og encoding type, du må i tillegg bytte charset til UTF-8 på mysql. Hvis du bruker phpmyadmin kan du gjøre det når du lager databaser/tabeller, eller ved å endre på dem etterhvert...

4 - Når du bruker MySQL databaser er det også viktig at du identifiserer tegnsettet du bruker, mens du kobler og velger database. Du kan gjøre dette på to måter....:

PHP:
$connect = mysql_connect("hostname", "username", "password");
mysql_select_db("DATABASENAVN");
mysql_set_charset("utf8");

på noen versjoner av php støttes ikke dette, da kan du heller bruke en mysql command:
PHP:
mysql_query("SET NAMES 'utf8' ");

håper dette hjelper noen som har problemer med tegnsett...

hvis ingenting går an, kan man også bruke html for norske tegn, som &oslash istedet for Ø...
 

Pong

Jeg selger sʇɥƃıluʍop :)
Forøvrig tok det litt tid før w3c's validator ville si at en av sidene var godkjent for mobilt bruk, bl.a. pga at css-filen ikke var utf-8.
@charset "UTF-8";
i begynnelsen hjalp ikke nok, så jeg fikk css behandlet av php, og spyttet ut først:
header('Content-Type: text/css; charset=UTF-8');
 

selbekk

Medlem
Bare for å være advokat for HTML5, så fungerer dette veldig fint istedenfor den lange meta-setningen:

<meta charset="UTF-8" />

Dette fungerer greit i alle browsere (inkl. IE 6) såvidt jeg vet.

Videre, husk å lagre html-, php- og css-dokumentene dine i UTF-8. Ikke bruk ISO-8851 (tror jeg det er) eller Mac-Roman, disse fungerer dårlig. UTF-8 er svaret ;-)
 

Pong

Jeg selger sʇɥƃıluʍop :)
Ah, blir sånn etterhvert glad i 5 jeg ;)

Det er ikke noe forskjell på teksten "hallo" i ascii eller UTF-8.
Så når filen ikke inneholder noen form av formattering har browseren ingen aning hva slags format filen er, og da faller den tilbake til en slags default. Jeg vet ikke om denne default kommer fra webserveren (Apache som regel), eller om det er en innebygd sak som er browseren selv som styrer. Og da kan en header som forklarer dette hjelpe.

Noen som vet noe mer om dette kan styres med php.ini eller apache innstillinger egentlig?
 

selbekk

Medlem
For første gang er jo flash-koden i alle fall delvis lovlig da. <object> er faktisk en del av html5, noe den ikke var i verken xhtml 1.0 eller html 4
 

Nutz

Med lem
... ja, for å legge til noe annet også, som er litt på kanten av temaet, som er en typisk nybegynnerfeil.
Gjør deg for god til å navngi filene på server med særnorske tegn og og andre spesialtegn som "Unix-servere" ikke liker.. Space er en stor synder..
 
Topp