Pregunta sobre Relevanssi - A Better Search de Wordpress:

Pedido incorrecto con caracteres suecos UTF-8

Un usuario preguntó 👇

¡Hola!

Usamos el plugin «Buscar y filtrar pro» y «Relevanssi» para buscar trabajadores de vacas en un sitio que hemos construido. Le pedimos a Relevanssi que ordene los títulos en orden alfabético. El problema es que el carácter sueco «Å» viene inmediatamente después de una «A» incorrecta. “Å” debe ir después de “Z”.

¿Se puede solucionar esto y cómo lo hacemos?

¡Gracias por adelantado!

Le Meas, Christoffer

(@tobifjellner)

Hace 2 años, 7 meses

Esto depende de la coordinación que tenga en su base de datos. (Por lo tanto, la clasificación generalmente se realiza enviando un parámetro (ORDER AT) a la solicitud de la base de datos. Tenga en cuenta que cambiar las coordenadas no es del todo trivial. Si solo cambia la configuración de coordenadas para su base de datos , esto solo afecta a las tablas que se crean posteriormente. Google para más detalles.

Esta respuesta fue modificada hace 2 años, 7 meses.

(@pixeltokig)

Hace 2 años, 7 meses

Hmm, pero tenemos utf8mb4 como coordenada por defecto para todo lo que parece recomendado en la base de datos.

Usamos este palo que se puede encontrar aquí. https://www.relevanssi.com/user-manual/relevanssi_hits_filter.

add_filter('relevanssi_modify_wp_query', 'rlv_sort_by_title');
function rlv_sort_by_title($q) {
	$q->set('orderby', 'post_title');
	$q->set('order', 'asc');
	return $q;
}

¡Gracias de nuevo por ayudar!

(@tobifjellner)

Hace 2 años, 7 meses

Si usa utf8mb4 como codificación, intente usarlo utf8mb4_swedish_cicomo la colonización.

Esta respuesta fue modificada hace 2 años, 7 meses. Razón: aclaración

(@msaari)

Hace 2 años, 7 meses

De hecho, la coordinación de la base de datos probablemente no interfiera con la clasificación de los resultados, porque Relevanssi obtiene las publicaciones de la base de datos en orden de relevancia y luego las ingresa en PHP si se requiere alguna otra clasificación.

Utiliza Relevanssi strcmp() para ordenar los resultados y las cadenas se cambian al nivel superior con ellos mb_strtoupper() al principio.

Probé esto en mi computadora, y el método de clasificación Relevanssi usa tipos «åland» después de «zeta», como debería.

Sin embargo, no creo que esa lista tenga nada que ver con Relevanssi. No es un resultado de búsqueda, ¿cuál es el término de búsqueda? Parece ser algo que genera Search & Filter, y no puedo confirmar cómo S&F realiza la clasificación. ¿Quizás usa un método diferente que no comprende las complejidades del idioma sueco?

(@pixeltokig)

Hace 2 años, 7 meses

¡Ahora funciona!

Lo conseguí para enumerar las publicaciones en el orden en este momento. Me di cuenta de que todas las publicaciones estaban en el orden incorrecto en la administración de WordPress, por lo que creo que no hay nada malo o relacionado con Relevanssi.

Instalé PhpMyAdmin en el servidor y luego dentro de PhpMyAdmin encontré en la configuración que podía cambiar las coordenadas de la base de datos. Algo que usé para cambiar la coordenada de utf8mb4 a utf8mb4_swedish_ci.

Pero debido a que estoy ejecutando MySQL 5.7, ha activado el modo estricto y recibí mensajes de error cuando intenté cambiar la coordenada dentro de PhpMyAdmin. Cuando tuve el modo estricto desactivado, pude cambiar la coordenada de utf8mb4 a utf8mb4_swedish_ci.

¡Gracias Tor-Bjorn Fjellner y Mikko Saari por señalarme en la dirección correcta!

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *