Hmm, 'k zit een beetje met de handen in het haar. Heb al overal gezocht op het internet, maar 'k vind maar geen oplossing.
Het probleem is op zich "bekend" en ik heb er in andere situaties al een oplossing op gevonden, maar in deze situatie de standaard oplossing gewoon niet werken.
Via een formulier laat ik op mijn website de gebruiker een foto album aanmaken, natuurlijk moet het album een naam hebben en daar loopt het mis. Als je voor deze naam speciale tekens gaat gebruiken zoals bv. ééàààëëêê, je kent ze wel... dan komen die als rare tekens in m'n database terrecht.
Nu wat doe ik alvorens alles weg te schrijven naar de database is, de naam filteren. Eerst kijk ik of er in de naam geen HTML staat geschreven, dan kijken of er ergens quotes staan en als laatste ga'k kijken of er geen speciale tekens staan en deze worden dan omgezet naar de ASCII code vb. #&123; Eens dat dit script doorlopen is, wordt alles naar de DB gestuurd.
Maar dit werkt dus niet. Nu heb ik ook al geprobeerd om enkel de POST var even te zuiveren met 'htmlspecialchars' .. in m'n form heb accept-charset="utf-8" erbij geplaatst, ik ben in de phpInfo gaan kijken welke karaktersets er worden geaccepteerd en daar staat utf-8, in de DB zelf heb ik de collation aangepast etc...
Het vreemde is, als ik in de DB zelf ga en dan daar speciale tekens ingeef, dan maakt MySQL daar geen problemen van.
MySQL versie is : 4.1.11
'k Hoop dat iemand mij kan helpen, alvast bedankt!
Het probleem is op zich "bekend" en ik heb er in andere situaties al een oplossing op gevonden, maar in deze situatie de standaard oplossing gewoon niet werken.
Via een formulier laat ik op mijn website de gebruiker een foto album aanmaken, natuurlijk moet het album een naam hebben en daar loopt het mis. Als je voor deze naam speciale tekens gaat gebruiken zoals bv. ééàààëëêê, je kent ze wel... dan komen die als rare tekens in m'n database terrecht.
Nu wat doe ik alvorens alles weg te schrijven naar de database is, de naam filteren. Eerst kijk ik of er in de naam geen HTML staat geschreven, dan kijken of er ergens quotes staan en als laatste ga'k kijken of er geen speciale tekens staan en deze worden dan omgezet naar de ASCII code vb. #&123; Eens dat dit script doorlopen is, wordt alles naar de DB gestuurd.
Maar dit werkt dus niet. Nu heb ik ook al geprobeerd om enkel de POST var even te zuiveren met 'htmlspecialchars' .. in m'n form heb accept-charset="utf-8" erbij geplaatst, ik ben in de phpInfo gaan kijken welke karaktersets er worden geaccepteerd en daar staat utf-8, in de DB zelf heb ik de collation aangepast etc...
Het vreemde is, als ik in de DB zelf ga en dan daar speciale tekens ingeef, dan maakt MySQL daar geen problemen van.
MySQL versie is : 4.1.11
'k Hoop dat iemand mij kan helpen, alvast bedankt!
Bedrijf : Webtrix
Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600