WN

WN (https://www.wn.se/forum/index.php)
-   E-kommers (https://www.wn.se/forum/forumdisplay.php?f=10)
-   -   UTF-8, Oscommerce (https://www.wn.se/forum/showthread.php?t=31661)

THL 2008-09-04 18:35

http://www.takbox.se/takboxbutiken

Databasen är satt till UTF-8 Unicode_ci

header.php är utf8
Samtliga sidor i exemplet nedan är satta till utf8

Ibland funkar headern men inte texten på sidan
http://www.takbox.se/takboxbutiken/index.php
Ibland funkar inte headern men texten på sidan
http://www.takbox.se/takboxbutiken/account.php
Ibland funkar allt!
http://www.takbox.se/takboxbutiken/matchmaker.php

Hjälp! Jag blir gråhårig (visserligen passar det till skägget).

Tack på förhand!

/Thomas THL

Silodon 2008-09-04 19:00

Du blandar olika teckenkodning på de olika sidorna. På en del sidor är det iso-8859-1 på andra utf-8. Sätt utf-8 överallt så ska det nog fungera.

En annan sak också. Ett par av bilderna på takboxar är bmpbilder, vilket kanske är lite onödigt.

lubic 2008-09-04 19:03

Vad jag kan se så har du charset = iso-8859-1 för sidan: http://www.takbox.se/takboxbutiken/login.php, vilket jag antar är problemet.

På sidan: http://www.takbox.se/takboxbutiken/matchmaker.php har du charset = utf-8

Vet dock inte mycket om Oscommerce så jag vet inte vart du ska ändra för att få det rätt.

THL 2008-09-04 19:03

Citat:

Originally posted by Silodon@Sep 4 2008, 19:00
Du blandar olika teckenkodning på de olika sidorna. På en del sidor är det iso-8859-1 på andra utf-8. Sätt utf-8 överallt så ska det nog fungera.
En annan sak också. Ett par av bilderna på takboxar är bmpbilder, vilket kanske är lite onödigt.


Kan du ge mig exempel på vilka sidor som är iso?

Ang. bmp så har generalagenten det på sin sida av någon anledning, skall fixa det så snart jag har löst det andra. Trodde knappt bmp fanns kvar...

/Thomas

Silodon 2008-09-04 19:08

Som lubic säger så är bland annat http://www.takbox.se/takboxbutiken/login.php iso men även http://www.takbox.se/takboxbutiken/specials.php och http://www.takbox.se/takboxbutiken/product_info.php

THL 2008-09-04 19:17

Ja men exemplen jag gav...

Ibland funkar headern men inte texten på sidan
http://www.takbox.se/takboxbutiken/index.php
Ibland funkar inte headern men texten på sidan
http://www.takbox.se/takboxbutiken/account.php
Ibland funkar allt!
http://www.takbox.se/takboxbutiken/matchmaker.php

goose 2008-09-04 23:07

varför ska han köra utf-8? det är ju iso-8859-1 som har stöd för mer tecken? Mitt tips är att antingen köra iso rakt av, eller html-encoda dina texter i databasen.

WizKid 2008-09-04 23:50

iso-8859-1 har stöd för 191 bokstäver enligt wikipedia medans utf-8 har stöd för galet många fler.

Alex 2008-09-05 00:28

Ibland kan det vara så jobbigt att filen är i ISO-8859-1 men man har ändå satt charset till UTF-8. Då får man göra så att man sparar om den som UTF-8.

THL 2008-09-05 08:07

Citat:

Originally posted by Alex@Sep 5 2008, 00:28
Ibland kan det vara så jobbigt att filen är i ISO-8859-1 men man har ändå satt charset till UTF-8. Då får man göra så att man sparar om den som UTF-8.

Det är det jag ha gjort med exempelfilerna nedan men det vill sig inte...

http://www.takbox.se/takboxbutiken/index.php
http://www.takbox.se/takboxbutiken/account.php
http://www.takbox.se/takboxbutiken/matchmaker.php

Det vore liksom lättare om det följde nåt slags mönster, inget funkar eller allt funkar!

Internetadresser 2008-09-05 09:08

Kanske beror på webhotellet? Hör med dom. Hade själv problem både hos Surftown och Binero. Har förträngt hur problemen löste sig.

Silodon 2008-09-05 12:27

Citat:

Originally posted by THL@Sep 5 2008, 08:07
Det vore liksom lättare om det följde nåt slags mönster, inget funkar eller allt funkar!
Men det följer ju ett mönster som jag redan påpekat. Granska källkoden så ser du att teckenkodningen för sidorna som ser märkliga ut är angiven som iso-8859-1. Alltså att det står följande i källkoden:
Kod:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Du behöver ändra detta till.
Kod:

<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
Den kodsnutten är antagligen kvarglömd i en templet någonstans.

tartareandesire 2008-09-05 14:15

Citat:

Originally posted by goose@Sep 4 2008, 23:07
varför ska han köra utf-8? det är ju iso-8859-1 som har stöd för mer tecken? Mitt tips är att antingen köra iso rakt av, eller html-encoda dina texter i databasen.

Öh, va? Tvärtom är det menar du?

För att återgå till problemet. Lösningen står ju redan klar bara man hittar felen vilket inte alltid är det lättaste. Har du tillgång till ett bra textredigeringsprogram så gör du lättast i att söka igenom samtliga filer efter iso för att se efter var det finns. Om inte så får du helt enkelt plöja igenom de filer som blir fel (glöm inte det som inkluderas isf).

THL 2008-09-08 09:45

Nu har jag ta mig tusan gått igenom varje fil och gjort om dem till utf-8 och får fortfarande olika resultat på sidan.
Vissa texter funkar, vissa inte.

Såg detta in i databasen:
http://www.takbox.se/slask/tabell.jpg
Det står latin1 och utf8, vet inte om det har något med det hela att göra dock.

Ska göra om det en gång till, sen vete fan....

tartareandesire 2008-09-08 11:01

Du har bara utf-8 på vissa tabeller i databasen misstänker jag? Där har du nog problemet.

THL 2008-09-08 11:25

Finns det något snabbare sätt än att sitta och ändra alla tabeller en och en?

lubic 2008-09-09 08:40

THL: Om du nu har ändrat till utf-8 på alla sidor, så måste även infomrationen vara utf-8-encodat, antingen har du "rätt" information i databasen eller så kodar du om informationen när den skrivs ut på sidan. PHP har en funktion för detta: utf8_encode, men jag skulle tror att det är bättre/smartare att ha det "rätt" från början i din databas?

Vet dock inte hur du gör för att enklast göra denna uppdatering i databasen? Någon annan som har några tips?

whe 2008-09-09 09:21

Rätta mig om jag har fel men att ändra från latin1 till utf8 i MySQL har inget med teckenkodningen att göra. Det talar bara om hur MySQL ska sortera och tolka datan. T.ex. om den ska tolka ett å som a eller ö som o. Stoppar du in utf8 får du ut utf8, stoppar du in 8859-1 får du ut 8859-1.

THL 2008-09-12 08:57

Citat:

Originally posted by whe@Sep 9 2008, 09:21
Rätta mig om jag har fel men att ändra från latin1 till utf8 i MySQL har inget med teckenkodningen att göra. Det talar bara om hur MySQL ska sortera och tolka datan. T.ex. om den ska tolka ett å som a eller ö som o. Stoppar du in utf8 får du ut utf8, stoppar du in 8859-1 får du ut 8859-1.

Detta löste det hela.
Tack för alla hjälp ni som svarat!

/Thomas


Alla tider är GMT +2. Klockan är nu 20:59.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson