18. september 2005 - 17:51Der er
93 kommentarer og 1 løsning
polske tegn sammen med danske tegn på hjemmeside og i mails
Hej, jeg har brug for hjælp. Jeg har en hjemmeside som jeg har fået oversat til polsk. Men siden vises ikke korrekt. specielle polske tegn bliver forandret. Nogen der kan forklare fænomenet lidt for mig.
som eks kan du i din internet explorer vælge "view - encoding" (oversæt selv til dansk). Der ser du et hav af forskellige tegnsætninger. Dette kan du sætte specifikt for din webside i meta-tags'ne. Prøv på skift at indsætte nedenstående meta-tags mellem dine <head> og </head> og se om én af disse løser dit problem:
Den ægte "universal-ting" er unicode som indeholder 65536 mulige tegn, men da den fylder alt for meget benytter man utf-8, som er en komprimeret version af unicode. Man kan altså godt sige at utf-8 er en universal-ting... Kender desværre ikke noget til poedit eller gettext. Kan ikke hjælpe dér.
Jeg kan godt se firkanterne....Bare for tilfældets skyld (jeg ved godt det ikke løser problemet). Når jeg nu ændrer min "view-encoding" til "baltic (iso)", ser jeg så teksten korrekt? Det ser det nemlig ud til, men jeg ved det jo ikke, da jeg ikke kender de polske tegn.
Hey, jeg lavede en fejl. Har to gange <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> med forskellige værdier. retter det lige og kommer igen
Jeg har lige prøvet med UTF-8 og nu virker hverken dansk eller polsk, men engelsk virker fint. Kan det være at jeg skal sætte bind_textdomain_codeset for at det virker.
Nu har jeg prøvet at sætte bind_textdomain_codeset og ændre setlocale til da_DK.UTF-8 istedet for da_DK og nu ser det ud til at det hele virker. Jeg skal lige teste lidt :o)
Og så er der sket noget meget underligt :o) Hele siden er rykket en lille smule nedad i browseren(IE) ses her: http://www.rejseagenten.dk/new_user/ Det er da underligt.
Aaah, jeg tror det er en UTF-8 headertingest... Ligger <meta http-equiv="Content-type" content="text/html; charset=utf-8"> osv i en separat fil? Prøv at gemme den som ISO-8859-1 eller gem den som UTF-8 uden headertingesten (UltraEdit kan gemme UTF-8 med og uden denne)
btw hvis det med databasen ikke bliver løst, kan det være du er nødt til at oprette en ny database til polsk, med iso-8859-2 eller opgradere mysql til min. 4.1 for at få unicode/utf-8 support...
Jeg fatter ik rigtigt utf8_encode() endnu. Sidder og læser på det nu.
Forstår heller ik hvad du mener med: UTF-8 headertingest... Ligger <meta http-equiv="Content-type" content="text/html; charset=utf-8"> osv i en separat fil? Prøv at gemme den som ISO-8859-1 eller gem den som UTF-8 uden headertingesten
Det ser ud som om at du har <meta headers osv i en separat fil? Hvis du gør, så gemmer din texteditor måske UTF-8 BOM sammen med filen (UltraEdit gør vist dette). Prøv at slå dette fra i editoren og gem den som ISO-8859-1 eller som UTF-8 uden BOM-headeren...
Nåh, jeg troede at jeg skulle lave mysql_query(SELECT * FROM XXX AS utf8_encode() WHERE) eller sådan noget. Jeg prøver det lige.
Det er korrekt at jeg har meta headers i en seperat fil. Har jeg fattet det korrekt at jeg skal ændre min editor's(dreamweaver) indstillinger så den ikke gemmer BOM
og når jeg ændrer til UTF i dreamweaver, så indsætter dreamweaver dette allerførst i dokumentet: <?php echo "<?xml version=\"1.0\" encoding=\"utf-8\"?".">"; ?>
Okay, jeg tror jeg har fundet ud af hvad jeg ikke forstår :o) Hvilke(n) fil(er) skal jeg fjerne BOM fra og lave til UTF? Er det allesammen eller blot den fil meta ligger i?
Heh :o) det virker ok nu selvom jeg fjerner: bind_textdomain_codeset("messages", "UTF-8");
Nåh men nu mangler jeg blot svar på dette: Hvad skal pakkes ind i utf8_encode()? Jeg har nemlig problemer med bla cookies. Har prøvet: echo utf8_encode($_COOKIE['password']) men det virker ik rigtig
det lyder rigtig giftigt. Hvis du har ret, så er jeg på den. Så kan min plan ikke lykkes
Det er nemlig fordi på hjemmesiden, der kan rejseselskaberne se kunder fra polen, danmark, usa, kina og andre lande. Og der skal kundens besked(skrevet med kundens unikke tegn) gerne vises. Altså på en side kan der forekomme mange forskellige tegnsæt.
Tror du ik man kan lave en funktion, der utf8_encoder både fra iso-8859-1 og iso-8859-2 og andre - til utf-8.
Håber jeg er til at forstå. Ellers kan du danne dig et indtryk af systemet ved at logge ind på rejseagenten.dk med email/passw 'test' og 'test' - kig på kundelisten og forestil dig at der er kunder fra mange lande med forskellige tegnsæt.
:o) ok Måske kommer du på noget på et senere tidspunkt :o) Men jeg synes nu du har fortjent en masse point for alt din hjælp hertil. Dont skal os have nogen for hjælpen.
men skal vi ik lige tænke lidt videre inden vi slutter denne tråd? Ok?
Jeg forsøger nemlig at få mail() til at virke med utf-8 tegnene Kan bare ikke forstå helt hvorfor der i eksemplet bruges chunk_split(base64_encode("International characters"));
hej, jeg har fundet dette: \nContent-type: text/plain; charset=utf-8\nContent-Transfer-Encoding: 8bit hvad sker der hvis jeg skriver det til sidst i mail() ?
Bor du i nærheden og vil du tjene lidt ved at hjælpe mig. jeg bor ved Sæby.
For at opsummere: Jeg har fundet ud af at vise både polske tegn og danske tegn på samme side. jubii Jeg har problemer med at hente/gemme i databasen. Samt problemer med at sende mails med mail() Samt problemer med at siden ryger et stykke ned i browseren Samt problemer med at gemme filerne i den korrekte format Jeg ved ik om der er mere i vejen :o)
Bare jeg kunne få lidt styr på det, så jeg kunne arbejde lidt mere skematisk frem. Så ville det være lettere. Jeg arbejder i blinde...
Som du kan se her: http://lastminute-sms.dk/properties.jpg så har jeg ikke mulighed for at fjerne BOM'en æv æv æv :o) Så skal jeg nok have fat i en anden editor. Hvilken bruger du?
se hvad W3C validatoren siger om siden: Sorry, I am unable to validate this document because on line 158, 168, 228, 242, 257, 308 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.
Nu tror jeg det virker :o) Jeg har siddet og prøvet altmuligt. og det ser ud til at virke med: mail( "mail@mail.dk", $subj, $text ,"From:name<name@mail.dk>\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8")
dvs dette hjalp: \nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8
Det er underligt, for alt ser ud til at virke som det skal. hvis jeg gemmer polske tegn i databasen, så vises de fint frem næste gang. Men når jeg kigger i databasen, så ligner feks æøå slet ikke sig selv. Men i emails og på hjemmesiden, der ser alting ok ud.
Tror du at man kan bruge det som det er? nej vel? eller skal jeg vælge en måde at gemme og hente i databasen på. en slags encode og decode
Hej igen. Jeg har læst en masse rundtomkring bla på mysql dokumentationen på mysql.com. Men det er nyt for mig og jeg har lidt svært ved at finde rundt. Kan ikke finde ud af hvilken version der omtales hvorhenne osv.
Nåh, men jeg vil gerne tage den bedste beslutning så jeg ikke kommer til at lave en masse arbejde på et senere tidspunkt når databasen er fyldt godt op.
Hej igen, det er længe siden :o) Igen tak for hjælpen. Jeg har dog et enkelt lille tillægsspørgsmål som jeg håber I kan hjælpe med.
Jeg har enkelte gange fået besked fra brugere at mails fra min finske side er ulæselige. Eller rettere sagt, så er specielle tegn såsom ä erstattet med underlige tegn. (fx er ä erstattet med ä)
Jeg har tested en del og kan ikke selv fremprovokere problemet direkte. Men men men Jeg har en mistanke om at fejlen sker når brugerens mail automatisk bliver videresendt eller lignende. Kan det passe at videresendelsen forvansker tegnene? Kan jeg gøre noget for at sikre at mine mails altid kan læses? Jeg har jo valgt med vilje at sende simple mails uden html, netop for at alle skal kunne læse de mails :o)
Jeg gør stadig således: mail( "mail@mail.dk", $subj, $text ,"From:name<name@mail.dk>\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8");
Det kan sagtens ske at en automatisk videresendelse ikke for sat de rigtige headers, hvilket vil gøre mailen ulæselig.. Det tror jeg ikke du umiddelbart kan gøre noget ved
Synes godt om
Ny brugerNybegynder
Din løsning...
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.