Avatar billede xzodic Nybegynder
27. juli 2004 - 22:39 Der er 6 kommentarer og
1 løsning

Mangler fuld MSSQL understøttelse

Jeg har en linux maskine med php4.3.8 som skal køre op imod en Win2k maskine med MSSQL 2000.

Hvis jeg bruger PHPs indbyggede MSSQL understøttelse via FreeTDS er der nogle felttyper/datatyper (bl.a. NTEXT). Det er en nødvendighed for mig at kunne læse data fra disse felttyper, så derfor er den indbyggede løsning mangelfuld og ubrugelig i mit tilfælde.

Jeg har derfor prøvet alternativet ODBTP (http://odbtp.sourceforge.net), og ved denne kan jeg nemt hente informationer fra NTEXT felter, men problemet er her at den returnerer værdierne i UTF-8, hvilken så endeligt resulterer i at ÆØÅ ikke ser for smart ud på min ISO-8859-1 webside.
Hvis jeg tvinger min browser til at vise indholdet af siden i UTF-8, så viser den fint de data der kommer fra MSSQL, men så er der fejl i ÆØÅ på den statiske del af siden.

Mit spørgsmål er så:
Er der nogen der har været i samme situation og fandt en smart løsning på dette problem? Enten via en tredje måde at forbinde til databasen på, eller måske en der har lidt mere tjek på det med tegnsæt og unicode, som kan give mig et peg til en løsning?

Sekundært.. Jeg kan nok godt fuske mig til en løsning, men vil gerne undersøge om nogen fandt en pæn løsning før jeg går i krig.
Min fuske-ide går ud på at konvertere de statiske ÆØÅ, så de bliver vist rigtigt i UTF-8. Er der nogen konsekvens ved at lave websiden i UTF-8 istedet for ISO-8859-1?

På forhånd tak
- Mads
Avatar billede arne_v Ekspert
27. juli 2004 - 22:48 #1
Er det ikke bare at hente de data i UTF-8 og så konvertere dem til
ISO-8859-1 med utf8_decode ?

http://dk.php.net/manual/en/function.utf8-decode.php
Avatar billede xzodic Nybegynder
27. juli 2004 - 22:53 #2
Jo, men det er så igen lidt ligesom min såkaldte fuske-løsning. Så skal jeg til at lave decode på samtlige udtræk fra databasen, og det er netop det jeg prøver at undgå.
Avatar billede xzodic Nybegynder
27. juli 2004 - 22:56 #3
Men tak for budet naturligvis.
Avatar billede arne_v Ekspert
27. juli 2004 - 22:56 #4
Alterantiverne er jo:

1)  skrive das ganze molevitten om til UTF-8

2)  finde en konfiguration soption til det der ODBTP spm får den til at returnere
    ISO-8859-1

Der er ikke nogen mirakel løsninger.
Avatar billede arne_v Ekspert
08. august 2004 - 22:11 #5
OK ?
Avatar billede xzodic Nybegynder
09. august 2004 - 00:07 #6
Din løsning betragter jeg blot som en gentagelse af det jeg selv forslog... At jeg kunne fuske mig frem til det ved at konvertere de enkelte elementer rundt omkring i systemet.

Det jeg ønskede mig var en smartere løsning end denne. Enten en håndtering af databaseforbindelsen som kunne konvertere data inden brug i PHP, eller også et tip til hvordan jeg undgår at bruge decode hvert eneste sted i koden hvor jeg henter data fra databasen ind.

Jeg håber stadig på et sådan svar, men må ellers løse det på den usmarte måde :o)
Avatar billede xzodic Nybegynder
24. februar 2007 - 14:20 #7
FreeTDS har fået support for de felter jeg skulle tilgå - og løsningen er derfor at anvende FreeTDS istedet.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester