• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af peque | 17.03.2013 21:42

[CLOSED]Insert data i postgreSQL i UTF-8 formater

Hjælp generelt
Hej Linuxin.

Da jeg har en kammerat som mangler et ordre system, er jeg i fuld gang med programmeringen.
men under den rå programmeringstid - er jeg kommet under et lille problem.
Da jeg løbende pt udvider systemet - ville jeg enormt gerne importere nogle rådata til at arbejde med.
Så mit problem er følgende:
jeg har oprettet en PSQL 8.4 database og kører JSP på serversiden.
Efter oprettelse af DB - har jeg lavet en tekstfil der opretter mine tabeller ved kommandoen "\i db.txt"
Dette fungerer uden problemer, Men da jeg gerne vil oprette nogle brugere, kunder og nogle ordre til at arbejde lidt grafisk design med oplever jeg at den ikke vil acceptere denne tekstfil som jeg har med diverse insert linier.
Og problemet er jo vores fantastiske danske sprog med æ ø å.
For at importere mig selv som brugere ( hedder jørgensen) til efternavn - hvilket den ikke vil acceptere som en del af insertfilen.

Men eftersom min JSP site er bygget med UTF-8 - så kan jeg sagtens via webinterface -ændre mit navn således så det passer med jeg hedder Jørgensen og ikke J(underlige tegn) nsen eller lign.

Hvordan kan jeg importere de da via insert statements i en tekstfil - og den læser æ ø å korrekt ?
Jeg har prøvet at ændre kodningen til både ANSI,Unicode og UTF-8 - men problemet er det samme!
Kommer sig af at jeg gerne vil oprette en tabel der ikke skal rettes i - men desværre skal bruge æ ø å i de data der skal bruges. jeg vil nok regne med at der er en herinde der kan hjælpe mig med dette - Selve mit insert statement skulle gerne se således ud:
INSERT INTO users (userid,name,lastname,address,postal,cellphone,email) VALUES ('PBJ','Per','Jørgensen','Testvej 21','4780','12234567','test@mail.dk');

Håber en af jer har en ide eller løsning?
Ja jeg ved godt det bedste er at undgå disse - men nej - det kan desværre ikke lade sig gøre!
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer18

# 1

12 år 3 måneder siden

Permalink

Indsendt af marlar den 18. marts 2013 kl. 09:58

Permalink

Nu kender jeg intet til

Nu kender jeg intet til PostgreSQL (kun MySQL), men hvad med at du simpelthen paster indholdet af tekstfilen ind i et queryvindue på det sql-program du benytter til PostgreSQL?
  • Log ind eller opret dig for at tilføje kommentarer

# 2

12 år 3 måneder siden

Permalink

Indsendt af dudsen den 18. marts 2013 kl. 10:03

Permalink

i vim

i vim
:set bomb
:set fileencoding=utf-8
:wq
nu er filen i utf-8
  • Log ind eller opret dig for at tilføje kommentarer

# 3

12 år 3 måneder siden

Permalink

Indsendt af peque den 18. marts 2013 kl. 10:17

In reply to i vim by dudsen

Permalink

Hey Dudesen.
Den filkodning

Hey Dudesen.
Den filkodning som at bruge via VIM . er vel lidt det samme som åbne filen i Notepad og skifte kodningen der - Men har prøvet alle muligheder men desværre med samme resultat!
  • Log ind eller opret dig for at tilføje kommentarer

# 4

12 år 3 måneder siden

Permalink

Indsendt af peque den 18. marts 2013 kl. 10:04

Permalink

Hej Marlar.
Tak for svaret -

Hej Marlar.
Tak for svaret - men det er ikke lige muligt - da jeg ikke har nogle queryvinduer - da det hele er programmeret i JSP.
Jeg bruger intet administrationsapplication til Postgresql - kun ren console!
  • Log ind eller opret dig for at tilføje kommentarer

# 5

12 år 3 måneder siden

Permalink

Indsendt af dudsen den 18. marts 2013 kl. 10:21

Permalink

iconv

#4:

Notepad gør hvad notepad vil med vim kan du regne med at den gør hvad du beder den om
kig evt på iconv programmet. tjæk evt charset med file -bi

Nu siger du notepad er du sikker på filen har unix linefeed og ikke windows linefeed? har selv haft sjov med psql på den konto.
  • Log ind eller opret dig for at tilføje kommentarer

# 6

12 år 3 måneder siden

Permalink

Indsendt af peque den 18. marts 2013 kl. 10:41

In reply to iconv by dudsen

Permalink

Skal da aldrig sige sig

Skal da aldrig sige sig sikker!
MEN Nu har jeg ALDRIG tidligere haft problemer med dette - hverken ved ændringer af Notepad mm. Men under VIM efter at have sat jeres anbefalinger - er det stadigvæk samme problem.
Jørgensen ligner ihvertfald ikke mit efternavn.
  • Log ind eller opret dig for at tilføje kommentarer

# 7

12 år 3 måneder siden

Permalink

Indsendt af dudsen den 18. marts 2013 kl. 10:47

Permalink

shell

#6:
MEN Nu har jeg ALDRIG tidligere haft problemer med dette - hverken ved ændringer af Notepad mm. Men under VIM efter at have sat jeres anbefalinger - er det stadigvæk samme problem.


Bruger din shell utf-8 og hvilken klient bruger du til postgre?
  • Log ind eller opret dig for at tilføje kommentarer

# 8

12 år 3 måneder siden

Permalink

Indsendt af peque den 18. marts 2013 kl. 10:54

In reply to shell by dudsen

Permalink

Ja. Min shell bruger UTF-8 -

Ja. Min shell bruger UTF-8 - Mine JSP-sites bruger UTF-8.
LANG=da_DK.UTF-8
Dette fungerer optimalt - så længe jeg tilføjer data igennem mine websites - Men meningen er ligesom når jeg tilføjer nu funktionalitet -´at jeg ikke skal manuelt oprette brugere/kunder/ordrer mm til mine test - men det reelt kommer ind med insert statement allerede fra starten af.
  • Log ind eller opret dig for at tilføje kommentarer

# 9

12 år 3 måneder siden

Permalink

Indsendt af Looop den 18. marts 2013 kl. 10:56

Permalink

Kan godt være jeg husker

Kan godt være jeg husker forkert men har Tomcat (ved ikke om det er den bruger) en indstilling til dette?
  • Log ind eller opret dig for at tilføje kommentarer

# 10

12 år 3 måneder siden

Permalink

Indsendt af kjoller den 18. marts 2013 kl. 10:59

Permalink

Er databasen i UTF-8?

"Jørgensen" ligner i høj grad at data kommer ind i UTF-8, men på et tidspunkt bliver konverteret til latin1/iso-8859-1. Om det så er din database, kode eller browser der laver det til latin1 ved jeg ikke. Jeg ville gætte at det var din browser, fordi filerne ikke havde korrekt header.
  • Log ind eller opret dig for at tilføje kommentarer

# 11

12 år 3 måneder siden

Permalink

Indsendt af peque den 19. marts 2013 kl. 10:07

In reply to Er databasen i UTF-8? by kjoller

Permalink

Det er jo således det

Det er jo således det puttes ind via en almindelig tekstfil i UTF-8.

Når jeg efterfølgende bruger min website - kan jeg rette det til Jørgensen.
Det ser således ud - idet det er importeret direkte fra en tekst fil fved hjælp af kommandoen \i insert.txt.
Efterfølgende kan jeg så rete mit navn - via min usermodul i sitet uden problemer.

Nu tænker jeg så mere i det længere forlæøb.
F.eks importerer jeg en txt fil der indeholder postnummer og By - Der er jo mange (rigtig mange byer med æ ø å i dk)

Derfor er jeg interesseret i at få det korrekt importeret fra en tekstfil.

  • Log ind eller opret dig for at tilføje kommentarer

# 12

12 år 3 måneder siden

Permalink

Indsendt af marlar den 19. marts 2013 kl. 10:26

Permalink

Derfor er jeg

#11: Derfor er jeg interesseret i at få det korrekt importeret fra en tekstfil.

Kan du ikke lige sende (fx via dropbox etc) et eksempel på en konkret tekstfil der volder dig problemer?
  • Log ind eller opret dig for at tilføje kommentarer

# 13

12 år 3 måneder siden

Permalink

Indsendt af peque den 19. marts 2013 kl. 11:09

Permalink

set

@Marlar Jo - Det gør jeg lige klar så snart jeg er hjemme igen!

Det er her: http://www.pbj-design.dk/download/dbcty.txt
  • Log ind eller opret dig for at tilføje kommentarer

# 14

12 år 3 måneder siden

Permalink

Indsendt af dudsen den 19. marts 2013 kl. 14:31

Permalink

miljø

Charset og linux er noget rod, lad os antage din tekst fil faktisk er UTF-8
Er din database sat til at forvente utf-8?
Er det output program du ser output i sat til at forvente UTF-8?
Når du kører \i textfil.txt forventer psql programmet så en UTF-8 fil?
  • Log ind eller opret dig for at tilføje kommentarer

# 15

12 år 3 måneder siden

Permalink

Indsendt af peque den 19. marts 2013 kl. 17:02

Permalink

@Dudsen ja det er altid

@Dudsen ja det er altid noget der kan drille.
Men som jeg umiddelbart ser det - fandt jeg fejlen der og retter det næste gang jeg udvider en funktion.
SQL_ASCII viste psql -l kommandoen over hvilket charset der var sat på selve databasen.

Jeg havde dog forventet eftersom hele mit system er bygget som UTF-8 - at en installeret pakke tog samme charset - men der tog jeg fejl.

Tak til alle der har bidraget - så snart jeg udvider med en funktion - skriver jeg et svar!
  • Log ind eller opret dig for at tilføje kommentarer

# 16

12 år 3 måneder siden

Permalink

Indsendt af peque den 19. marts 2013 kl. 19:45

Permalink

Desværre bruger jeg

#9: Desværre bruger jeg ikke tomcat, men derimod Apache2/Resin som JSP container
  • Log ind eller opret dig for at tilføje kommentarer

# 17

12 år 3 måneder siden

Permalink

Indsendt af mjjzf den 20. marts 2013 kl. 11:08

Permalink

Og det er ikke bare en

Og det er ikke bare en server, der er sat til at vise ISO-8859-1 som standard?
  • Log ind eller opret dig for at tilføje kommentarer

# 18

12 år 3 måneder siden

Permalink

Indsendt af peque den 23. marts 2013 kl. 20:33

In reply to Og det er ikke bare en by mjjzf

Permalink

@mjjzf - Nej desværre -

@mjjzf - Nej desværre - havde det bare været så nemt

  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

den er sjov 0
llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

Reserve kernel og btrfs 2
En snak om Linux-kompatibel software 12
PCLinuxOS 28
"Intet realistisk alternativ" - mig i r*ven 17
Open source events i danmark? 3
Virtuel maskine? 4
Gode anmeldelser Zorin OS 17.3 8
Open Source-eksperimentet 5
Nulstilling af adgangskode 6
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !