Persekitaran hos saya ialah windows + iis Selepas memasang WordPress, saya telah mengubah suai sebahagian kod dalam class-wp.php mengikut kaedah dalam talian, dan menukar aksara daripada GBK kepada UTF-8. Selepas itu, artikel dengan aksara Cina dalam URL boleh dibuka seperti biasa, tetapi sekarang saya dapati bahawa nama tag bahasa Cina dalam halaman tag masih bercelaru.
Pengekodan penukaran yang diubah suai sebelum ini (baris 177 class-wp.php telah diubah suai kepada kod berikut):
$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, '|' ) );
Sekarang aksara Cina yang kacau-bilau bagi tag adalah seperti berikut:
<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>
Untuk tag bahasa Cina, tidak ada masalah pada halaman pertama, tetapi tag pada halaman berikutnya menjadi berantakan. Saya menyemak dalam pangkalan data dan pengekodan adalah betul. Saya belum memasang pemalam caching atau paging.
Selepas itu, saya mencari di Google Cara yang paling biasa ialah mengubah suai kod pertama, tetapi saya telah mengubahnya sebelum ini dan ia tidak menyelesaikan masalah. Saya mencuba beberapa kaedah lain tetapi ia tidak berjaya. Sila beritahu saya apa masalahnya
Pemilik, semasa anda memasang teks, adakah anda menggunakan format pengekodan GBK? Saya baru sahaja menukar bahagian pengisytiharan di dalamnya Adakah fail itu juga telah ditukar kepada UTF-8?