splazz: jeg er relativ ny inden for PHP og MySQL. Hvordan ser jeg hvilke tegnsæt jeg bruger i PHP-filerne, eller fastsætter det? I phpMyAdmin står der at jeg bruger:
MySQL Tegnsæt: UTF-8 Unicode (utf8) MySQL forbindelses-sammenkøring: utf8_unicode_ci Sprog - Language Info: Dansk - Danish
lakridserne: Jeg vil helst undgå at skulle ændre alle danske bogstaver, hvis det er muligt, da teksterne er lagt ind i databasen. Og i øvrigt vises korrekt i phpMyAdmin. Så mon ikke der er en simplere løsning?
Njaahhh, iso-8859-1 er nok ikke det bedste tegnsæt at bruge idag - og DTD'en har intet at sige i denne forbindelse. Hvis spørgeren blot gør, som det allerede er beskrevet i tråden, får han ikke de tegnsætproblemer, der beskrives i spørgsmålet =)
Nej, det er fordi, han ikke har gjort som beskrevet =)
Resten af verden og alle nye tekniker benytter Unicode - langt de fleste utf-8. I JavaScript har ANSI funktionerne til at encode URL'er med således længe været deprecated - og er erstattet med Unicode functioner.
Ajax giver derfor ikke mening med iso-8859-1 - og udveksling af data med resten af verden bliver vanskeligere
Enig, det er nyere. Unicode implementerer jo ISO blandt andet og IEC, så den er der stadig. Men kun at bruge iso-8859-1 vil også fungere ja alle steder tror jeg stadig. Men fair nok, man kan self. lige så godt holde sig opdateret :)
Men udover det, kan jeg ikke se hvad det har med Ajax at gøre i denne tråd. :)
Ajax var blot et eksempel på en af de nyere teknikker =)
"Unicode implementerer jo ISO blandt andet og IEC, så den er der stadig" >> Nej, de har intet med hinanden at gøre.
"Men kun at bruge iso-8859-1 vil også fungere ja alle steder tror jeg stadig" >> Ikke, hvis WWW skal bruges, som det er tænkt - og som det bliver brugt. Vil man kommunikere med resten af verden og udveksle data på tværs af sproggrænser, duer lokale tegntabeller naturligvis ikke.
Man skal ikke holde sig opdateret for at bruge det nyeste - men for at bruge det bedste ;o)
Hvis det er database indhold, den er galt med, ligger dit problem dér.
Er det statisk tekst i dokumenterne, der fejler, er dit statiske indhold ikke utf-8 indhold.
Det er svært at afgøre, hvad det præcist er, du gør galt, når man ikke selv sidder med projektet - men ifølge W3C's validator består din kode ikke af utf-8 indhold.
Prøv at smide dokumentet ud og lave et nyt, som fra starten er et utf-8 kodet dokument - og undlad at bruge copy/paste, når du laver det nye dokument.
Hmm siden det nu skal være så besværligt, så kan man gå i en helt anden retning. Det mest korrekte ville dog være at løse problemet hvor tegnsættet deklareres.
Der er dog denne løsning, som måske vil virke. Det kræver dog at teksten stadig er intakt fra databasen af og frem til udtrækket. Herefter går det så i smadder tyder det på. Sæt dette ind straks efter dit udtræk. Forhåbentligt er din tekst ikke smadret allerede der.
Sitet skal kunne fungere med alle sprog, og dermed alle landes særlige tegn. Derfor er det vigtigt at det er Unicode hele vejen igennem, og det hjælper derfor ikke at jeg skal sidde og diffinere særlige tegn for hvert enkelt land.
Der må være en nemmere løsning. Både databasen og php-filen er i UTF-8 format. Så det må¨være derimellem det går galt??
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.