Bonjour !

J'ai un petit problème avec l'encodage sur mon site.
J'ai mis en place de l'URL rewriting avec apache, donc caractères de bases, mais ça coince pour le ô. Car j'ai besoin d'avoir le mot "Hôpital" dans l'URL.

Ma page est bien encodé en UTF8, dans l'url j'ai bien /categorie/Hôpital

Mais quand je veux l'afficher (avec un $_GET par exemple), ça affiche juste "H".
Donc je me suis dit que c'était à cause de l'url rewriting, logique dans un sens. Mais du coup je suis bloqué, si je fais un utf8_encode, j'obtiens ça dans l'URL:

/categories/Hôpital

J'avoue que l'encodage, ça a toujours été quelques choses que j'ai jamais comprit, mais je m'en sortais toujours jusqu'à présent.

Je reste à votre disposition pour d'autres informations si besoin, merci !

10 réponses


Benjamin Derepas
Réponse acceptée

Je te conseil plus simplement d'ajouter une colonne dans ta table catégorie :

#category{id, title, libelle} ainsi tu aura des lignes format : 1,hôpital,hopital}
On peut voir ça comme un slug

Hum je vais peut être dire une bétise, mais n'est ce pas fortement recommandé d'enlever les accents dans les URL ?

@Benjamin Derepas +1 c'est mieux d'éviter en effet

Genki
Auteur

Sauf que c'est lié à la base de données. Le mot Hôpital est enregistrée dans la base de données comme catégorie, et donc je veux la ressortir.
Si vous avez une idée de comment faire pour supprimer l'accent dans l'URL mais gardé le mot intacte dans la base de données, sans avoir une tableau d'équivalences, vu que je veux que tout soit fait automatiquement

Merci :)

@Benjamin Derepas c'est un slug y'a pas à chipoter ^^

Genki
Auteur

Je vais faire ça alors, merci ;)

On peut convertir facilement avec la class Transliterator

$tr = Transliterator::create("Latin-ASCII");
$result = $tr->transliterate("hôpital/Charité.html");
// hopital/Charite.html"

Il y a eu un article là dessus, il y a qques semaines, mais pas moyen de le retrouver
le moteur de recherche de Graphikart ne l'a pas indexé :-(

Genki
Auteur

De toute façon, je n'utilise pas de POO. J'avais commencé à programmer comme ça mon site, et j'ai perdu beaucoup trop de temps à essayer que tout fonctionne, avec le MVC etc.. Au final j'ai dit fuck, je programme en procédural, ça me prendra 100x moins de temps et ça fonctionnera de la meme façon.

... ça c'est du raisonnement ! #troll

Genki
Auteur

A chacun sa façon de programmer :p