Si vous avez déjà eu des soucis d’encodage dans votre base de données et que vous ne pouvez pas réimporter vos données, voici une petite commande qui permet de corriger les accents de la langue française. N’oubliez pas de faire une sauvegarde de votre base de données avant la requête.

UPDATE table_name
SET field =
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
field 
, "á", "á") , "à ", "à") , "â", "â") , "ä", "ä") , "ã", "ã") , "Ã¥", "å") , "ç", "ç") , "é", "é") , "è", "è") , "ê", "ê") , "ë", "ë") , "í", "í") , "ì", "ì") , "î", "î") , "ï", "ï") , "ñ", "ñ") , "ó", "ó") , "ò", "ò") , "ô", "ô") , "ö", "ö") , "õ", "õ") , "ú", "ú") , "ù", "ù") , "û", "û") , "ü", "ü") , "ý", "ý") , "ÿ", "ÿ") , "æ", "æ") , "Å“", "œ") , "Á", "Á") , "À", "À") , "Â", "Â") , "Ä", "Ä") , "Ç", "Ç") , "É", "É") , "È", "È") , "Ê", "Ê") , "Ë", "Ë") , "Í", "Í") , "ÃŒ", "Ì") , "ÃŽ", "Î") , "Ï", "Ï") , "Ñ", "Ñ") , "Ó", "Ó") , "Ã’", "Ò") , "Ô", "Ô") , "Ö", "Ö") , "Õ", "Õ") , "Ú", "Ú") , "Ù", "Ù") , "Û", "Û") , "Ãœ", "Ü") , "Ý", "Ý") , "Ÿ", "Ÿ") , "Æ", "Æ") , "Å’", "Œ"), "Ã…", "Å"), "Ã", "Ã");

En espérant que ça vous soit utile 😉

Lors du développement du site de l’association Proxgroup, j’ai été confronté à un soucis d’envergure, il été nécessaire d’avoir une route qui attrapent toutes les urls car dans mon application, une page peut avoir /unepage mais aussi /undossier/unepage comme url, hors l’option path ne permet pas ce genre de chose facilement, après quelques recherches sur le net, j’ai trouvé l’option pattern qui permet cela :

proxgroup_site_page:
    pattern: /{_locale}/{slug}
    defaults: { _controller: ProxgroupSiteBundle:Site:page, _locale: 'fr' }
    requirements:
        _locale: %available_locale%
        slug: ".+"

Note surprenante : il est impossible de mettre une expression régulière hors des {tag}, pour contourner ce soucis, il faut créer un tag que l’on n’utilise pas mais qui me permet d’ajouter une expression régulière où l’on veux.

Si vous avez une meilleure solution, laissez un com’