sql >> Database >  >> RDS >> Mysql

Speciale tekens in DB opslaan op een zodanige manier dat ze correct op de site worden weergegeven en toch een afbeelding met dezelfde naam kunnen vinden

Bekijk eerst UTF-8 helemaal voor alle dingen die u correct moet doen om niet-ASCII-tekens in het algemeen in uw app te laten werken.

Ten tweede is het... lastig... om bestanden met niet-ASCII-bestandsnamen via het web aan te bieden. 1) U moet ervoor zorgen dat u alle URL's voor deze bestanden codeert met procentcodering, zoals u al lijkt te doen. 2) De webserver neemt die URL, decodeert deze procentueel naar een bytetekenreeks en vraagt ​​vervolgens het onderliggende besturingssysteem/bestandssysteem om te zoeken naar een bestand met een naam met die tekenreeks. Dit is het lastige:je weet niet precies welke bytestring je besturingssysteem/bestandssysteem gebruikt om dat bestand precies weer te geven. U moet dat eerst uitzoeken en vervolgens de URL specifiek coderen, zodat deze exact naar de juiste tekenreeks wordt gedecodeerd.

En wanneer u naar een andere server verhuist, vooral als u van Windows naar *NIX of vice versa gaat, kunt u dat helemaal opnieuw doen, aangezien dat systeem de dingen heel anders doet.

In een notendop, het is vaak meer gedoe dan het waard is, en je moet je afbeeldingen opslaan met alleen ASCII-namen om dat alles te vermijden. Specifiek voor landen zou het heel logisch zijn om de landcodes van twee tekens te gebruiken voor de naam van de afbeelding (bijvoorbeeld "cz.jpg").




  1. In PostgreSQL, hoe gegevens in te voegen met de opdracht COPY?

  2. MySQL bevat nul rijen bij gebruik van COUNT met GROUP BY

  3. Oracle-query's uitgevoerd door een sessie

  4. Afdruk samenvoegen doen in Access 2016