diff --git a/wp-includes/taxonomy.php b/wp-includes/taxonomy.php
index 7c9a1d7a1f..c34e0e8b4d 100644
--- a/wp-includes/taxonomy.php
+++ b/wp-includes/taxonomy.php
@@ -1710,6 +1710,28 @@ function sanitize_term_field( $field, $value, $term_id, $taxonomy, $context ) {
 
 	if ( 'slug' === $field ) {
 		$value = sanitize_title( $value );
+
+		/*
+		 * Enforce maximum slug length AFTER decoding.
+		 * This prevents URL-encoded or multibyte strings
+		 * from exceeding the 200 character limit and
+		 * breaking admin pagination queries.
+		 */
+		$decoded_slug = rawurldecode( $value );
+
+		if ( strlen( $decoded_slug ) > 200 ) {
+			$decoded_slug = substr( $decoded_slug, 0, 200 );
+
+			// Re-sanitize after truncation to ensure valid slug.
+			$value = sanitize_title( $decoded_slug );
+		}
 	}
 
 	if ( 'db' === $context ) {
