31. oktober 2000 - 13:21Der er
31 kommentarer og 2 løsninger
Karakter Konvertering!
Davs!
Situationen er følgende;
Logger på SQL server via ADO. Problemet ligger I at når jeg læser æ, ø og å henholdsvis store og små går det hele gost. Men hvis jeg skal skrive æ, ø og å henholdsvis store og små går det galt, så gemmer den følgende µ°Õ!
Skrivningen foregår via StoredProcedures og via Command objekter!
Kan du ikke gemme Æ, Ø & Å som f.eks. #&(ascii_værdi); og så replace dem når du skal bruge dem igen ? Ville det ikke være det nemmeste ? (hvis du bruger VB 6.0 da den har Replace())
Jo det var en mulighed! Men problemet er at andre skal bruge de data, der gemmes hvilket resultere I at De også skal lave denne konvertering hvilket slet ikke er hensigtsmæssigt!
Tak for det du!! Det har ikke noget at gøre med at det sløver!
Problemet ligger i at det data, der indtastes skal eksporteres til et andet system, hvilket vil sige at konverteringen og skal ske her! Det vil sige at vi ender op med at denne konvertering skal ske 10 forskellige steder. Det vil sige at hvis der skal lave ændringer eller tilføjelser skal der laves ændringer eller tilretninger 10 steder! Det er dette jeg mener som ikke hensigtsmæssigt!
Bryder du dig ikke tdaugaards mulighed, så findes det kun en anden mulighed.
1. Først og fremmest skal det program du konverterer til kunne forstå Æ,Ø og Å. Hvis det ikke gør , så har de et special tegn. Det er dette special tegn du skal konvertere dinne data til.
Du kan tjekke dette ved at sende et Æ, Ø og Å (også i de små æ, ø og å) fra en anden maskine, hente disse data som en chr værdi. Så ved du hvad værdien skal være for at de andre brugere for de nøjagtige tegn.
Dette er den samme løsning som tdaugaard kom med, blot modificeret en anelse.
SQL serveren kan fint forstå æ, ø, å, Æ, Ø og Å så det er ikke her problemet ligger!
Problemet ligger i at når jeg skriver til en stored procedures på SQL serveren er disse tegn ændret! Det vil sige at jeg skrive æ ned til den stored procedure men den storedprocedure modtager +. Dette synes jeg er mystisk!
Kan det have noget at gøre med ADO, der styrer konvertering!
Jeg ved at der er en property \"Auto Translate\" der efter navnet at dømme kunne bruges til dette! Er prøvet uden det store held! Eller jeg mener! Det kunne godt lade sig gøre at skrive æ, ø og å til serveren men de æ, ø og å\'er der så fandtes bliver nu til noget forkert. Når jeg så kigger i den tabel jeg har skrevet æ, ø og å til så er det ikke æ, ø og å der står men nogle andre karakterer, der åbenbart oversættes af ADO!
Hmmmmmmmmmmmmmmmmmm!!! Jeg føler lidt at jeg er på dybt vand!
*lol* jeg sad lige og så at du skriver faktisk ! efter hver sætning selvom det er et spørgsmål .. *låål* jeg kunne ikke lade være med at grine lidt *sorry*
Dit første spørgsmål antydede kraftigt at der var en maskine der benyttede codepage 865 eller lignende der puttede data ind i en server der kører isolatin.
De sidste tegn kan jeg slet ikke kende. Kan du vise et grafisk skærmdump?
Men problemmet er stadig det samme, den char værdi du sender afsted, som du kan identifisere som et \"æ\", og tror programmet at det er char værdien for et \"+\". Dette skyldes at de ikke kører med fælles char opsætning (det var så dagens afslørelse). Det din opgave er nu blot at finde ud af hvilken værdi du skal sende så den modtager et \"æ\" og identificerer det som et \"æ\".
Ellers skal du finde den char opsætning og lav dem sådan at de er ens.
Det sjove er bare at det mere eller mindre er påvist, at det ikke har noget med CodePagen at gøre! På nogen maskiner fungere det hele fint uanset hvad COdePage der bruges på klienten!
Jeg render nettop nu rundt i store cirkler på mit kontor og udbryder underlige lyde... Du har ret det er sjovt, men spændene problem...Hænger åpå for lige at se slutningen... Måske hjælper det at få luft under vingerne...
Hvad mener du, \"nolle k\", med at det virker på nogle maskiner? Er der andre forskelle i opsætningen end lige codepage (f.eks. Win95/98/NT/2000/ME, MDAC version osv.)?
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.