Ik heb een systeem, waarbij ik aan dehand van een dropdown plaatsnamen selecteer.
Na een selectie, moet de waarde in een input veld komen.
Dit input veld word dan weer gebruikt voor een GET zoek query.
Van alle spaties maakt hij een +.
Het punt is dat ik de url-encoded versie bijv voor een plaats in vietnam: "ham-yen" heb, maar wat getoond moet worden in de input waarde is: Hàm Yên met accenten etc.
Het laatste probeerde ik in een placeholder te doen, maar de "value" waarde neemt de overhand.
$("#sregion3").val(data.region3Url); // de url waarde ham-yen
$("#sregion3").attr('placeholder', data.region3); / de originele waarde Hàm Yên
Ik wil dus dat men in de input de originele waarde ziet, maar de "url friendly" waarde gebruikt. Is dit mogelijk?
Maar is alles ook echt UTF-8?
Hoe zijn deze waarden weggeschreven in je database?
Hoe luiden de tabel- en kolomdefinities van de tabellen?
Hoe maak jij een verbinding met je database? En selecteer je ook een character encoding?
Heb je gecontroleerd of je database mogelijk vertalingen maakt van character encoding A naar character encoding B bij het ophalen van gegevens?
Hoe luidt de character encoding van je HTML-document?
Als er tekens wegvallen is dit een indicatie dat er iets mis is met de encodering van je karakters.
De oplossing van @Ivo is waarschijnlijk nog het beste dat je een URL-vriendelijke variant in een data-veld zet (JavaScript weet immers niet hoe deze vertaling precies verloopt), of nog beter, werk met id's.
valt me nu pas op dat in mijn post hierboven de plaatsnamen met accenten in de code overal de betreffende letters missen.
Dat lijkt me een probleem van phphulp.
In mijn code stonden ze wel.