Kom ihåg mig?
Home Menu

Menu


Encoding, JDBC

Ämnesverktyg Visningsalternativ
Oläst 2009-04-20, 20:51 #1
Perben Perben är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2009
Inlägg: 393
Perben Perben är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2009
Inlägg: 393
Ett väldigt gammalt problem har dykt upp - encodings över JDBC.

Jag har en defaultinstallerad MySQL som har alla sina charsets defaultade på latin1 (iso-8859-1). Detta verifierar jag genom en show status, som också visar att klienten (vanliga mysql-client) och dess connection kör latin1. Rubbet i latin1 alltså.

Jag sätter in åäö i en tabell via klienten, allt ser bra ut via den.

Jag gör en select från Java genom nyaste JDBC-drivern. Connectionsträngen är jdbc:mysql://localhost:3306/databas, alltså inga encoding-inställningar. Jag tar ut ResultSet.getBytes() för strängen ovan och skriver ut följande:

new String(bytes, "UTF-8"));
new String(bytes, "ISO-8859-1"));
new String(bytes)

Alla tre varianter ger felaktig encoding. Jag har även testat att ange UTF-8 samt ISO8859_1 på connectionsträngen, vilket ger lite varierande, men alltid felaktiga resultat.

Databasen och klienten som insättningen sker i är alltså rakt igenom i latin1, så det är något på Javasidan som jag missat. Några tips?
Perben är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-04-20, 20:59 #2
Perben Perben är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2009
Inlägg: 393
Perben Perben är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2009
Inlägg: 393
Man behöver bara skriva ner problemet så löste det sig förstås... det var terminalen som insättningen skedde via som var inställd i UTF-8, så det blev ISO-omlindad UTF-8 i databasen, som sedan plockades ut till Unicode i Java...

Död åt encodings!
Perben är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


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

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