Toon posts:

[ASP-Access] Speciale leestekens

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

Verwijderd

Topicstarter
Als ik een naam opsla in Access zal deze speciale leestekens omzetten naar een code.
Bijvoorbeeld een "é" naar "&#233"

Als ik nu een query maak en deze laat zoeken naar bijvoorbeeld André kan de query niks vinden.
Ik er een soort algemene omzet regel die dit kan voorkomen om moet ik alle leestekens vervangen met:
code:
1
 [b]Varname = Replace (Varname,"&#233","é")


Binnenkort ga ik Access vervangen door MSSQL gelden er dan andere regels voor bovenstaande?

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

keyword: COLLATE

(voor MSSQL)

[ Voor 33% gewijzigd door Niemand_Anders op 23-10-2007 16:12 ]

If it isn't broken, fix it until it is..


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:32

TeeDee

CQB 241

Als je in MSSQL je DataType als nvarchar instelt heeft deze Unicode. Als jij je applicatie ook UTF-8 meegeeft (danwel ISO8895-15) moet het e.e.a. gewoon goedkomen.

Mijn vermoeden is dan ook dat je een probleem hebt met je Encoding, en niet met je DataBase.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Ik heb een deel van de oplossing gevonden:
als ik een naam opsla in de access database zal gebruik ik:
code:
1
Varname = Server.HTMLEncode(Request.Form("name"))


Haal ik deze regel weg zal de "é met een streepje" gewoon als een "é" opgeslagen worden.

Nu vraag ik mij wel of er nog een tegen commando is voor
code:
1
Varname = Server.HTMLEncode(Request.Form("name"))


Of is het beter om heel deze regel te verwijderen?

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

j_du_pee

du pain, du vin, du pee

(jarig!)
Wat ik zelf meestal doe is de speciale tekens gewoon opslaan zoals ze zijn in de database. Een é sla je dan dus op als é. Als je deze wilt weergeven via HTML dan kun je die HTMLencode functie gebruiken om de é te vertalen naar een HTML-code. Op die manier hou je data en (een soort van) opmaak gescheiden.

IMO is het echter beter om niet de vertaling te maken naar een HTML code, maar aan de webclient te vertellen welke character-set je hem opstuurt. De client kan dan zelf snappen dat een ascii code 137 ë betekent bijvoorbeeld.

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


Verwijderd

Topicstarter
Het eerste probleem is nu opgelost. De teksten worden nu gewoon als als teksten in de database opgslagen.
Nu loop ik echter tegen iets anders aan.
Verderop in de code sla ik de naam van de gebruiker op in een session variabele:
code:
1
 Session("name") = objRsCheck("name")


Blijkbaar wordt hier een vertaalslag gemaakt.
de é blijkgeen é meer te zijn.

Hoe kan ik zorgen dat beide (database veld en session variabele) gelijk zijn?
Pagina: 1