23. september 2008 - 16:01Der er
4 kommentarer og 1 løsning
CONCAT ændrer specialtegn til spørgsmålstegn
Hej, jeg har et problem med at, når jeg henter nogle ting ned fra min database bruger jeg CONCAT, og den ændrer ÆØÅ til ???. Er der nogen der har et forslag til en anden løsning?
Koden ser sådan her ud:
DataTable dt = DbAccess.Select("Adresser,`postnummer table`", "ID=" + adresseId.ToString() + " and DistriktPostnummer = Postnummer", "", "CONCAT(DistriktNavn,'<br>', DistriktAdresse,'<br>', DistriktPostnummer,'<br>', `by`) as Adresse, CONCAT(DistriktBem1,'<br>', DistriktBem2,'<br>', DistriktBem3) as DistriktBem, DistriktTlf, DistriktMail");
Det er nok ikke CONCAT's skyld men nok mere databasen, der ikke får gemt din data ordenligt. Hvis du har gemt din data som VARCHAR så prøv at ændre din felt-type til NVARCHAR, den kender også til special-karakterer.
Jo, det er CONCATs skyld, databasen er fin, for andre steder bliver de hent ordentligt ned der er kun en situation hvor det bliver hentet forkert ned, og det er der hvor der bliver brugt CONCAT, har tjekket alt igennem. Men det er også lige meget nu, har selv løst problemet :) Omgik den ved at lave en bedre select hvor jeg hentede det hele ned uden at concatinere dem. Hvorefter jeg dannede mit eget Datatable og satte det ind på samme måde. Problemet var nemlig at det var noget javascript der skulle bruge det.
Så er det bare lidt svært at forklare hvordan det lykkes for mig da jeg undlod at bruge CONCAT, uden at ændre noget som helst med Charset. Hvis du søger lidt på nettet vil du se at der også er andre der har haft problemer med CONCAT. Den må ændre charsettet eller sådan noget når den concatinerer. For jeg havde allerede i forvejen brugt flere timer på at se på databasen, osv. efter forkert charset. Men fandt senere frem til at fejlen skete med det samme den blev hevet ud af databasen med CONCAT, der var andre steder hvor det ikke skete vha. CONCAT, og der virkede det fint.
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.