Avatar billede wordwrap Nybegynder
14. april 2005 - 11:22 Der er 12 kommentarer og
1 løsning

mssql_query problem

Hejsa

Har lige en lille træls ting..

Når jeg via php tilføjer data i mssql, driller den lidt med æøå. i selve tabelen bliver æøå erstatet med noget lignende " ‘›†"..

Åbner jeg derimod manageren til databasen og indsætter æøå er der ikke noget problem.

Henter jeg data fra mssql frem på siden bliver æøå også skrevet rigtig ud selv om de står som ‘›† i databasen.

er der nogen måde / hvordan kan jeg få æøå skrevet rigtig ind, via mssql_query ??

på forhånd tak

/strange
Avatar billede rocha_dk Nybegynder
14. april 2005 - 12:32 #1
en måde er at lave en str_replace på tekststrengen først:

$tekststreng = str_replace($tekststreng, "Æ", "&Aelig;");
$tekststreng = str_replace($tekststreng, "Ø", "Ø");
$tekststreng = str_replace($tekststreng, "Å", "Å");
$tekststreng = str_replace($tekststreng, "æ", "æ");
$tekststreng = str_replace($tekststreng, "ø", "ø");
$tekststreng = str_replace($tekststreng, "å", "å");

og så indsætte den i databasen, så er du ovre det problem
Avatar billede wordwrap Nybegynder
14. april 2005 - 12:52 #2
det løser ikke det store..

str_replace laver jo bare de bogstaver om, og skriver i stedet "&Aelig" i databasen.

hvilket så også bliver skrevet ud, fra  de programmer der åbner databasen.

Skal bruge en måde og skrive æøå rigtig ind i databasen.

har kigger lidt på http://eksperten.dk/spm/494808 hvilket desvære heller ikke virker, men det er noget i den stil jeg gerne skal bruge
Avatar billede sostack Nybegynder
14. april 2005 - 12:57 #3
$patterns = Array("Æ", "Ø, "Å", "æ", "ø", "å");
$replacements = "Array("&Aelig;", "Ø", "&Aring", "æ", "ø", "&aring");
$tekststreng = preg_replace($patterns, $replacements, $tekststreng);

//sostack
Avatar billede sostack Nybegynder
14. april 2005 - 13:00 #4
Lav to funktioner:
Læg_i_DB($tekststreng){
$patterns = Array("Æ", "Ø, "Å", "æ", "ø", "å");
$replacements = "Array("&Aelig;", "Ø", "&Aring", "æ", "ø", "&aring");
$tekststreng = preg_replace($patterns, $replacements, $tekststreng);
return $tesktstreng;
}

Læs_fra_DB($tekststreng){
$patterns = Array("Æ", "Ø, "Å", "æ", "ø", "å");
$replacements = "Array("&Aelig;", "Ø", "&Aring", "æ", "ø", "&aring");
$tekststreng = preg_replace($replacements, $patterns, $tekststreng);
return $tekststreng;
}

//sostack
Avatar billede sostack Nybegynder
14. april 2005 - 13:13 #5
Eller hvis du har kontrol over MSSQL-serveren, se:
Make sure you disable ANSI to OEM Conversion in your SQL Server Client Network Utility -> DB Library Options if you are using these extension from the CLI. Otherwise you get encoding problems with special characters. For further information look at http://bugs.php.net/bug.php?id=27324
Avatar billede wordwrap Nybegynder
14. april 2005 - 13:16 #6
sostack

På web er der ikke noget problem med at tegnene ikke er æøå i databasen, for der bliver de skrevet rigtig ud alligevel, men når der hentes data fra andre windows app, kan de ikke skrive de data korrekt ud, med mindre der står æøå og ikke nogen andre tegn eller '&Aelig' eller lign...

så skal gerne kunne skrive æøå direkte i databasen..

eks.

som det er nu, har jeg f.eks en tabel

id  | comment
--------------
    |
1  | en sætning

har brug for en måde, så jeg via php, kan skrive det ind, så der kommer til at stå:

id  | comment
--------------
    |
1  | en sætning
Avatar billede sostack Nybegynder
14. april 2005 - 13:21 #7
Kigger lige efter igen, men tror det er måden din MSSQL-server behandler tegnene på.
Dine databaser skal benytte ANSI-tegnsæt for at du kan benytte tegn med højere ASCII-nummer end 127. Jeg har ikke lige adgang til en MSSQL-server, så jeg kan ikke se hvor det er man stiller det, men det må være til at finde ;-)

//sostack
Avatar billede wordwrap Nybegynder
14. april 2005 - 13:27 #8
sostack, tror du har ret, leder som en gal... men syns ik lige det er til at finde..

sååå... hvis nogen ved hvor man skal lede, ville det være rar :D
Avatar billede sostack Nybegynder
14. april 2005 - 13:27 #9
Se her: http://archives.devshed.com/a/ng/557-33816/

Du er ikke den eneste ;-)

//sostack
Avatar billede sostack Nybegynder
14. april 2005 - 13:28 #10
Hvordan connecter du til DB fra andre apps?

//sostack
Avatar billede wordwrap Nybegynder
14. april 2005 - 13:33 #11
spørg dem der har lavet programmet :D

Ej.. ved ik helt hvordan de gør det, men det er et prog der er bygget op over access, som derigennem snakker sammen med en ms sql server
Avatar billede wordwrap Nybegynder
14. april 2005 - 13:35 #12
:p sostack... det var lige det link der sku til..

virker nu...super..

tak for hjælpen.. smid et svar, hvis du vil ha lidt point
Avatar billede sostack Nybegynder
14. april 2005 - 13:36 #13
Oki, glad for at kunne hjælpe!

//sostack
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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