Mon environnement hôte est Windows + iis. Après avoir installé WordPress, j'ai modifié une partie du code dans class-wp.php selon la méthode en ligne, et converti les caractères de GBK en UTF-8. Après cela, les articles avec des caractères chinois dans l'URL peuvent être ouverts normalement, mais maintenant je constate que les noms de balises chinoises dans la page de balises sont toujours tronqués.
L'encodage de conversion précédemment modifié (la ligne 177 de class-wp.php a été modifiée par le code suivant) :
$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK") : ''; //修改处
list( $pathinfo ) = explode( '?', $pathinfo );
$pathinfo = str_replace( "%", "%25", $pathinfo );
list( $req_uri ) = explode( '?', mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK") ); //修改处
$self = $_SERVER['PHP_SELF'];
$home_path = trim( parse_url( home_url(), PHP_URL_PATH ), '/' );
$home_path_regex = sprintf( '|^%s|i', preg_quote( $home_path, '|' ) );
Maintenant, les caractères chinois tronqués du tag sont les suivants :
<a class='page-numbers' href='https://xxx.com/tag/����/page/2'>2</a>
<a class='page-numbers' href='https://xxx.com/tag/����/page/3'>3</a>
<a class='page-numbers' href='https://xxx.com/tag/����/page/4'>4</a>
<a class='page-numbers' href='https://xxx.com/tag/����/page/5'>5</a>
<a class='page-numbers' href='https://xxx.com/tag/����/page/6'>6</a>
Pour les balises chinoises, il n'y a pas de problème sur la première page, mais les balises des pages suivantes deviennent tronquées. J'ai vérifié dans la base de données et l'encodage est correct. Je n'ai pas installé de plug-ins de mise en cache ou de pagination.
Après cela, j'ai cherché sur Google. La manière la plus courante était de modifier le premier code, mais je l'avais déjà modifié auparavant et cela n'a pas résolu le problème. J'ai essayé d'autres méthodes mais cela n'a pas fonctionné. Veuillez me dire quel est le problème
Monsieur, avez-vous utilisé le format d'encodage GBK pour le texte lorsque vous l'avez installé ? Je viens de changer la partie déclaration à l'intérieur. Le fichier a-t-il également été modifié en UTF-8 ?