@gigi De meeste systemen vandaag werken intern met UTF-8. Zo ook Windows 10, toestel waarop ik getest heb. Enkel de interface van CMD mode (mogelijk ook PowerShell) wijkt daar van af. Met een Azerty-klavier zal je in cmd cp 850 gebruiken en met een Querty-klavier CP 437. (Je kan dat in UTF-8 zetten door CHCP 65001. Visueel zie je geen verschil, maar als je uitvoert naar een bestand en je hebt in je uitvoer bijvoorbeeld geaccentueerde of Cyrillische tekens, zal je wel een verschil zien. Mijn testen waren zeer simpel. Vermits je een webbrowser ook kunt gebruiken om te browsen op je computer, heb ik die facikiteit gebruikt. Dat is stukken minder omslachtig dan eerst wat lokaal aan te passen en dat om het op een webpagina te zetten. Iets zoals %d0%94%d0%be%d0%b1%d1%80%d0%be.png op een webpagina zetten geeft geen enkel probleem. Dat had ik al gedaan. Naar daar browdsen en dat doel te zien krijgen was me niet gelukt. Om die reden probeerde ik eerst lokaal op de pc zelf. Ook op de pc is het me niet gelukt om de foto met een %-code te visualiseren. Wat welk lukte is als ik de foto een Cyrillische naam gaf. Dan kon ik hem visualiseren als ik de Cyrillische naam ingaf. Als ik de naam in %code ingaf, visualiseerde ik ook de foto en bovendien kreeg ik de naam in het Cyrillisch terug ter vervanging van de %code. Wat was en is mijn conclusie hieruit. 1. Bij de aanvraag gebeurt er een correcte vertaling (het versturen van de opdracht van pc naar server) 2. De ontvanger (de server) zal geen vertaling doen. Meer nog de %-tekens gaat de ontvanger nooit krijgen, deze zijn bij het verzenden immers vertaald naar UTF-8. 3. Vermits enkel een ASCII subset mag gebruikt worden in url's, is het onmogelijjk een UTF-8 url, buiten het ASCII subset, te versturen naar de server. Gewoon ter informatie, ASCII is (ook) een subset van UTF-8. Indien je echter een UTF-8 teken hebt buiten ASCII is de eerste octade van dat teken altijd niet ASCII. Welke browser je gebruikt, maakt vandaag niet veel verschil meer. De meeste browsers vertrekken allemaal van Chronium. Om er maar enkel te noemen, Chrome, Firefox en Edge zijn allemaal Chromium met wat toeters en bellen die het verschil maken. Als in de %code de eerste tetrade (halve octade of byte)een waarde heeft van 8 of meer (a, b, c, d, e, f zijn meer) of als de eerst tetrade nul of één is, dan is die octade geen ASCII-teken. Als ik iets oplaad naar mijn webpagina gebruik ik FileZilla. Met dit allemaal te schrijven denk ik aan nog iets. Dat ga ik eerst proberen voor ik deze tekst afwerk. Laatste idee goed idee. Eureka. Opgelent nog niet getest op browser dat laat ik aan u over. Ik heb de foto hernoemd. naar tekens buiten het ascii set. In fuctie van de code page voor de visualisatie van de tekst kan je wat anders zien. Met deze bestandnaam: ╨ö╨╛╨▒╤Ç╨╛.png werkt het. Ik krijg hierdoor dit te zien Добро.png. Werkwijze: elke octade moet de hexadecimale waarde van elk %teken krijgen. De decimale omzetting geeft volgend resultaat: 208, 148, 208, 190, 208, 177, 209, 128, 208, 190. Verander nu de naam van de foto en geef de nieuwe naam op volgende manier: houd de linkse Alt-toets ingedrukt en geef met het numerieke pad het driecijferig getal in. Laat dan de Alt-toets los en druk hem opnieuw in voor het volgende teken. Met een binaire ftp verplaats je de foto naar je website. Afhangende van de codering gebruikt door de server kan je daar wat anders zien dan je doorgestuurd hebt. Om maar één voorbeeld te geven, wat betekent de hexdecimale waarde AB? Met zekerheid kan gezegd worden dat dit overeenstemt met de decimale waarde 171. Of dit een teken voorstelt of een deel van een teken hangt volledig af van de gebruikte code page. Zonder code page kan je er geen verdere betekenis aan geven.
... Meer weergeven