[ASP/SQL] Omgaan met 'vreemde' karakters (é, ë, etc.)

Pagina: 1
Acties:
  • 438 views sinds 30-01-2008
  • Reageer

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Ik heb een applicatie geschreven waarmee ik automatisch elke nacht mijn database laat updaten met content wat ik downloade via een andere website.

Het gaat hier om regels met bestelnummer en titel etc.

Ik download dus eerst de gehele data in het bestand en laat deze splitten op Chr(13) want op elke regel staat nieuwe data.

Ik krijg zoiets terug per regel:
code:
1
11903;"112 - Dance with me";"2002-05-16";"1";"-410";"0";"0"

Deze regel split ik weer op de ; en zet de data in de juiste kolommen in de database.

Dit gaat perfect totdat er in de titel rare tekens komen zoals:

André Hazes, Anthem - België, etc.

Maar als ik de regel laat zien dan krijg ik Andr?azes te zien?

Hoe kan ik er nou voor zorgen dat ik gewoon André Hazes in de database kan zetten?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
je moet als datatype NCHAR of NVARCHAR gebruiken. Dit is een unicode veldtype

(Dit is de SQL Server benaming voor unicode characters, als je een ander RDBMS gebruikt moet je even in de docs kijken)

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
P_de_B schreef op 11 februari 2004 @ 11:30:
je moet als datatype NCHAR of NVARCHAR gebruiken. Dit is een unicode veldtype

(Dit is de SQL Server benaming voor unicode characters, als je een ander RDBMS gebruikt moet je even in de docs kijken)
Hij staat inderdaad op het type VARCHAR, ik zal ff proberen om op NVARCHAR te zetten.

Heeft dit geen verdere nare gevolgen op de data?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

ik ben het eens met de nvarchar oplossing, maar waar je ook aan kunt denken:

Ik vermoed dat je voor het downloaden gebruik maakt van XMLHTTP.

Deze component gaat er AFAIK vanuit dat je gegevens download in UTF-8.
De set die je download is ISO-8859-1 of ISO-8859-15 waarschijnlijk. De website waar je van download geeft misschien geen header mee, welke de character set aangeeft. Dit zou moeten staan in de content-type header.

Als het daar niet in staat weet ik uit ervaring dat het heel lastig wordt de gegevens te converteren. Als het er wel in staat is het nog steeds lastig overigens, aangezien je niet kan aangeven aan je xmlhttp welke characterset je wilt hebben :/

kaart != map && bottel != fles
Wacht op antwoord


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Ik heb het in NVARCHAR gezet, nu geeft hij geen foutmelding maar hij slaat André Hazes op in de database als Andr?azes, waarbij het ? zo'n blokje is.

@j_du_pee:
Ik download idd via XMLHTTP en krijg idd alleen maar platte tekst binnen, deze download ik bijvoorbeeld: http://www.ringtonio.nl/r...&getdata=csv&rtorder=alfa (denk dat je ww nodig hebt om te bekijken)

Dus ik ben bang dat dit niet gaat werken? Moet ik alle dingen met de hand gaan veranderen :'(

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Verwijderd

we hebben geen wachtwoord nodig hoor:

de charset die meegegeven wordt is: windows-1252 en deze ondersteunt de specials chars wel, maar xmlhttp herkent de charset niet als zodanig. Doe eens een response.write van de string die xmlhttp uitspuugt

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Verwijderd schreef op 11 februari 2004 @ 12:28:
we hebben geen wachtwoord nodig hoor:

de charset die meegegeven wordt is: windows-1252 en deze ondersteunt de specials chars wel, maar xmlhttp herkent de charset niet als zodanig. Doe eens een response.write van de string die xmlhttp uitspuugt
Zie mijn startpost, met response.write krijg ik "Andr?azes" terug!

Ik ben dus bang dat ik alles met de hand mag gaan doen? En als ik het bestand nou gewoon opslaat op de HD en deze dan via mijn script uitleest? Krijg ik dan wel de goede charset mee? Onee, want als ik ga downloaden dan moet dit weer via xmlhttp want het is wel de bedoeling dat het automatisch gaat!

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Het is idd de XMLHTTP die er geen zin in hebt. Ik heb net even een tekstvak op me site gezet en alle data copy/paste in het veld en dan werkt het wel zoals het hoort! Alleen alles moet automatisch gaan straks, dus copy/pasten moet eruit...

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

Verwijderd schreef op 11 februari 2004 @ 12:28:
we hebben geen wachtwoord nodig hoor:

de charset die meegegeven wordt is: windows-1252
ik krijg anders geen codepage mee hoor ;) ben bang dat je browser dat er van maakt...


code:
1
2
3
4
5
6
7
8
9
10
11
Date: Wed, 11 Feb 2004 11:52:24 GMT
Server: Apache/1.3.27 (Unix) mod_webapp/1.2.0-dev PHP/4.3.2 FrontPage/5.0.2.2510
 mod_ssl/2.8.14 OpenSSL/0.9.7b
Content-Location: all.php
Vary: negotiate
TCN: choice
X-Powered-By: PHP/4.3.2
Keep-Alive: timeout=15, max=50
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/plain


edit: misschien kun je een hele lelijke workaround maken:

creeer een instantie van IE, laat die naar de pagina surfen en automatiseer het copy pasten :)

[ Voor 12% gewijzigd door j_du_pee op 11-02-2004 12:54 ]

kaart != map && bottel != fles
Wacht op antwoord


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Is het niet een idee om te vragen of dat ringtonio een charset aan het document meegeeft, of heeft dit geen invloed op dit probleem omdat gewoonweg XMLHTTP dit niet ondersteund?

Welke charset is dan het beste om dit probleem op te lossen?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Edit:
Om even op het onderwerp te blijven heb ik dit maar ff weggeedit!

[ Voor 91% gewijzigd door Polderdijk op 11-02-2004 13:41 ]

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

Lees eens iets over Parametrized Queries

[ Voor 46% gewijzigd door gorgi_19 op 11-02-2004 13:28 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

zullen we het bij je oorspronkelijke probleem houden in dit topic :? Zoeken naar quotes escapen en eventueel als je daar zin in hebt parametrized queries leveren echt heeel veel resultaten op ;)
[/offtopic]

Het kan voor de eigenaar sowieso geen kwaad om character sets mee te geven. Als iemand op een pc zit waar cyrillic als standaard staat ingesteld wordt zijn pagina voor die persoon niet goed weergegeven b.v.

Of het probleem daarmee voor jou opgelost is betwijfel ik, maar zou je misschien kunnen testen door een pagina op je localhost te zetten en daar wat mee te spelen...

kaart != map && bottel != fles
Wacht op antwoord

Pagina: 1