2012-01-03 12 views
5

Estoy tratando de ordenar una tabla que contiene caracteres griegos. La versión inglesa correspondiente de la tabla se está ordenando (tanto ASC como DESC) simplemente bien, cada vez que haga clic en el encabezado de la tabla.Clasificación de nombres que no están en inglés con MySQL

He buscado en foros griegos y la única solución sugerida es usar ORDER BY BINARY. De hecho, muchas personas dijeron que el uso del orden binario resolvió su problema. Lamentablemente, no en mi caso. Sé que existe el mismo problema con idiomas como el alemán, donde el uso de diéresis altera el orden y, en general, en idiomas con caracteres especiales. Si alguien tiene alguna idea de cómo superar este problema, estaría agradecido.

+1

Por lo que sé del hebreo, idiomas no latinos están ordenados por su ASCII (o Unicode) índice, que generalmente deben trabajar con lenguajes como Griego. Entonces no veo dónde está el problema. ¿Podrías enfocar tu pregunta? –

+0

He cambiado su etiqueta [tag: PHP] a [tag: MySQL] ya que esto no tiene nada que ver con PHP. Además, ¿podría dar un ejemplo de algo que no funciona bien? Solo unos pocos nombres. ¿Qué [juego de caracteres] (http://dev.mysql.com/doc/refman/5.0/es/charset.html) es su mesa? – kba

+0

El problema es que no recibo el pedido correcto. Por ejemplo, las palabras que comienzan con A, que es incluso en griego la primera letra del alfabeto, aparecen casi al final de mi tabla. No soy muy experto en PHP y ahora estoy pensando si la intercalación de la tabla es el problema. – user926652

Respuesta

2

De acuerdo con a thread on forums.mysql.com, en MySQL 6.0, puede ordenar nombres griegos si el conjunto de caracteres de su tabla está establecido en utf8_general_ci.

create table t (s1 char(1) character set utf8 collate utf8_general_ci); 
insert into t values ('Α'),('Β'),('Γ'),('Δ'),('Ε'),('Ζ'); 
select * from t order by s1; 

Lo anterior debe devolver

+----+ 
| s1 | 
+----+ 
| Α | 
| Β | 
| Γ | 
| Δ | 
| Ε | 
| Ζ | 
+----+ 
+0

Estoy usando MySQL 5.1.53. ¿Sugiere que debería actualizar a la última? – user926652

+0

@ user926652, no funciona en MySQL 5.1.x, pero lo hace en MySQL 6 - Eso es todo lo que puedo decir. Si debe actualizar, no puedo decirlo. Parece estar en una etapa inicial de desarrollo, por lo que podría no ser una buena idea, pero resolverá este problema. – kba

Cuestiones relacionadas