Avatar billede nolle_k Nybegynder
31. oktober 2000 - 13:21 Der 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!

Hvad gør jeg galt?? Jeg er ved at få SPAT!!
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 13:24 #1
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())
Avatar billede nolle_k Nybegynder
31. oktober 2000 - 13:31 #2
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!

Avatar billede nolle_k Nybegynder
31. oktober 2000 - 13:32 #3
Så dette er SLET ikke en mulighed! Sorry!
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 13:35 #4
Hensigtsmæssigt ? Det er jo ikke noget der sløver eller noget .. men det må du jo om, det er jo dit program ;)
Avatar billede nolle_k Nybegynder
31. oktober 2000 - 13:43 #5
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!
Avatar billede nolle_k Nybegynder
31. oktober 2000 - 13:47 #6
De karakterer jeg får når jeg skriver æ ø og å er faktisk \'>+ og ikke µ°Õ som jeg skrev før!
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 13:48 #7
Nåå .. se de ku\' du jo bare have sagt ..
Avatar billede powell Nybegynder
31. oktober 2000 - 13:51 #8
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.
Avatar billede nolle_k Nybegynder
31. oktober 2000 - 13:56 #9
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!
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 14:01 #10
Okay .. hvad faen er en StoredProcedure ?
Avatar billede powell Nybegynder
31. oktober 2000 - 14:03 #11
http://www.w3schools.com/ado/
Se afsnittet med : ADO and SQL
Avatar billede nolle_k Nybegynder
31. oktober 2000 - 14:03 #12
Det er en Query, der ligger på server siden!

Ligesom SELECT * FROM Names bare på server siden og allerede kompileret og i den dur!
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 14:04 #13
*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*
Avatar billede nolle_k Nybegynder
31. oktober 2000 - 14:05 #14
*GGGGG*
Avatar billede powell Nybegynder
31. oktober 2000 - 14:05 #15
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 14:07 #16
Ahh .. på den facon ..
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 14:08 #17
takker powell ..
Avatar billede nolle_k Nybegynder
31. oktober 2000 - 14:09 #18
Undskyld men jeg kan ikke se meget hjælp i det link du gav mig powell (ikke noget udråbsteg *gg*)
Avatar billede thunderbear Nybegynder
31. oktober 2000 - 14:10 #19
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?
Avatar billede powell Nybegynder
31. oktober 2000 - 14:13 #20
Det var blot en mindre rednings bjælke!

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.

Ellers er det kun tdaugaard\'s løsning tilbage...
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 14:14 #21
WOW!! Så kom der lige en hardcore man til diskutionen ;-)
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 14:17 #22
thunderbear that is :o)
Avatar billede powell Nybegynder
31. oktober 2000 - 14:20 #23
thunderbear gav netop det ord jeg manglede code page. http://www.va.pubnix.com/man/xdb/sqlref/CodePageCharacterSets_18.html
Avatar billede nolle_k Nybegynder
31. oktober 2000 - 14:24 #24
Øøøøøøhhhhh!! Det link duer heller ikke rigtig til noget! *Sorry*
Avatar billede powell Nybegynder
31. oktober 2000 - 14:29 #25
Nej linket som sådan giver ikke noget mening, blot for at vise at thunderbear havde fat i den tykke ende.

De kører åbenbart ikke med samme codepage, og det kan være hele humlen i dette...
Avatar billede nolle_k Nybegynder
31. oktober 2000 - 14:31 #26
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!
Avatar billede powell Nybegynder
31. oktober 2000 - 14:37 #27
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...
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 14:42 #28
*lol*
Ja .. det lyder sku særdeles underligt...
Avatar billede nolle_k Nybegynder
31. oktober 2000 - 14:43 #29
Meget underligt! Jeg er da også ved at få SPAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Avatar billede tomasc Nybegynder
31. oktober 2000 - 23:31 #30
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.)?
Avatar billede lebeuf Nybegynder
01. november 2000 - 12:44 #31
Er der ikke noget om at SQL-serveren er sat op med Tegnsæt og sorteringsrækkefølge, codepage og 117 andre forvirrende parametre?
Avatar billede nolle_k Nybegynder
01. november 2000 - 13:00 #32
Ved ikke!
Avatar billede nolle_k Nybegynder
02. januar 2001 - 08:58 #33
Fatter ikke noget
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
Kurser inden for grundlæggende programmering

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