@deceze en @Shakti bedankt voor jullie hulp.
+1 voor de artikellink die is gepost door deceze (Unicode van voren naar achteren verwerken in een webapp ) en het is ook de moeite waard om Encoding te begrijpen
Na het lezen van uw opmerkingen, antwoord en natuurlijk die twee artikelen, heb ik eindelijk mijn probleem opgelost.
Ik heb de stappen vermeld die ik tot nu toe heb gedaan om dit probleem op te lossen:
- Toegevoegd
header('Content-Type: text/html; charset=utf-8');
bovenaan mijn init.php-bestand, - KARAKTERSET van mijn databasetabelveld waarin die waarde wordt opgeslagen, gewijzigd in UTF-8,
- Stel MySQL-verbindingstekenset in op UTF-8
mysql_set_charset('utf8', $connection_link_id);
- Gebruikte htmlentities() functie om karakters te converteren
$meta_title = htmlentities(trim($meta_title_raw), ENT_QUOTES, 'UTF-8');
Nu lijkt het probleem opgelost te zijn, MAAR ik moet nog steeds het volgende doen om dit probleem VOLLEDIG op te lossen.
- Verkrijg de gecodeerde tekenset van de bron
$source_charset
. - Verander de codering van de tekenreeks in UTF-8 als deze al niet in dezelfde codering staat. Hiervoor is de enige beschikbare PHP-functie
iconv()
. Voorbeeld:iconv($source_charset, "UTF-8", $meta_title_raw);
Voor het verkrijgen van $source_charset
Ik moet waarschijnlijk wat trucjes of multi-checking gebruiken. Zoals het controleren van headers en metatags enz. Ik vond een goed antwoord op codering detecteren
Laat het me weten als er verbeteringen of fouten zijn in mijn bovenstaande stappen.