Je reçois une chaîne de la base de données, où il est codé avec utf8_unicode_ci
. Il peut contenir le caractère de point central (⋅) et je dois savoir en utilisant strcmp
. Si je montre directement la chaîne dans le HTML, le caractère est affiché sans problème mais quand je fais la comparaison, les résultats ne sont pas ce que j'attends.Comparer les chaînes avec le point du milieu ne fonctionne pas dans PHP
Par exemple:
$string = "⋅⋅⋅ This string starts with middle dots";
$result = strcmp(substr($string , 0, 2), "⋅⋅");
Les résultats n'est pas 0, comme je pense qu'il faut. Le fichier PHP est enregistré avec l'encodage UTF-8. Qu'est-ce que j'oublie ici? Cela se produit même si je prends la chaîne à partir d'une variable au lieu de la base de données
Vous devez probablement utiliser les fonctions multi-octets. –