08. juli 2003 - 09:22Der er
8 kommentarer og 1 løsning
Kan man ændre kakaktersættet som Access benytter sig af?
Jeg håber at der er en der kan hjælpe mig med følgende:
Jeg programmerer i Java til en Access database, hvor jeg vil gemme teksten ’æøå’ som en tekst. Maskinen det udføres på bruger et græsk karaktersæt (nærmere betegnet Cp1253) som standard. Problemet er, at teksten nu gemmes i Access som ’?oa’ i stedet for ’æøå’. Det samme gør sig gældende hvis man forsøger at hente ’æøå’ fra en databasen på maskinen med det græske karaktersæt.
Kan man ændre kakaktersættet som Access benytter sig af (igennem javakoden)? Den tager jo åbenbart det standard karaktersæt som maskinen bruger, men det er ikke så praktisk i dette tilfælde...
du skal lave en funktion hvor du sætter ascii koden/værdier for den bogstaver. hvis det er i windows miljø. Du finder i access "under Help" disse værdier.
Det er bare lidt svært i det scenarie hvor jeg skal hente data, som allerede findes som 'æøå' i databasen (før maskinen blev græsk). Jeg kan jo ikke lave om på det når jeg ikke kan hente det ud og samtidigt være sikker på hvad det er jeg henter. Kan du følge min tankegang?
Hej Arne. Tak for dit svar. Jeg har prøvet din løsning, men den virker ikke..
I databasen står der i en cell et ’Ø’. Når jeg henter den v.hj.a. koden: byte[] b = resultSet.getBytes(1); System.out.println(b[0]);
Bliver der udskrevet byteværdien 79 (O) i stedet for -40 (Ø) Altså går databasekaldet galt, og ikke javakoden med konverteringen som du foreslår. String s = new String(b, "ISO-8859-1");
Er det mon MS-Access som har et problem med karaktersættet på maskiner med en anden encoding?
Kan du ikke bare finde værdierne for de 6 danske tegn på den græske maskine og konvertere dem til ANSI. Følgede bruger jeg selv ved konvertering til og fra ANSI(Windows = 1) og ASCII(DOS = 2): DIM DK(1:6,1:2) DK(1,1) = 230 DK(2,1) = 198 DK(3,1) = 248 DK(4,1) = 216 DK(5,1) = 229 DK(6,1) = 297 DK(1,2) = 145 DK(2,2) = 146 DK(3,2) = 155 DK(4,2) = 157 DK(5,2) = 134 DK(6,2) = 143 for "æÆøØåÅ".
Nej det kan ikke lade sig gøre. For teksterne jeg får retur fra databasen er egentligt danske. Derved bliver ordet "RØD" til "ROD" når databasen retunerer det til mig. Men nu kan jeg jo ikke vide om ordet rent faktisk VAR "ROD", eller om det skal konverteres til "RØD" i stedet. Meget bøvlet ;o)
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.