FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Sort using utf characters in mysql or php ? best solutions...
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Sort using utf characters in mysql or php ? best solutions... [message #172825 is a reply to message #172823] Fri, 04 March 2011 03:49 Go to previous messageGo to previous message
SM is currently offline  SM
Messages: 3
Registered: March 2011
Karma:
Junior Member
On Mar 3, 10:11 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> On 3/3/2011 7:58 PM, SM wrote:
>
>
>
>> Hello,
>> Using MySQL, i'm selecting a list of songs in spanish that i would
>> like to sort. Here's a list of names that is returned by the query:
>
>> Decirevilla!
>> Alhambra
>> 123 pasitos
>> frica
>> Arroz
>> Decir
>
>> The sorted list should look like this:
>
>> 123 pasitos
>> frica
>> Alhambra
>> Arroz
>> Decirevilla!
>> Decir
>
>> After all of the research i've read, i've concluded that there is no
>> reasonable way to achieve this using MySQL. I've tried collation,
>> charset, etc... but there is no way the character , ?, etc... can by
>> sorted accordingly to my desired result. Even the is not sorted the
>> way i want to...
>
>> Question 1: Is this a reasonable conclusion?
>
> You're asking this question in the wrong newsgroup.  Try
> comp.databases.mysql.
>
>
>
>> I believe the only way to achieve this is by passing the results to an
>> array in php and then sort the array using a custom function... all
>> this using the function usort (need to sort by value and i don't care
>> about maintaning the key association). Something similar to this:
>
>> function normalize($a, $b) {
>>    if ($a == $b) {
>>      return 0;
>>    }
>
>>    return ($a<  $b) ? -1 : 1;
>> }
>
>> $tracks = array();
>
>> while ($row = $result->fetch_assoc()) {
>>    $tracks[] = $row;
>> }
>
>> usort($tracks, 'normalize');
>
>> Question 2: Is this the best way to achieve a custom sorting?
>
> Possibly - but first ensure it can't be done in MySQL (see my response
> to Question 1).
>
>
>
>> Here's where i'm hitting a wall:
>
>> Question 3: I have no idea how to create the normalize function to
>> sort the names accordingly to my needs. How do i ignore certain
>> characters ( , ?, ', !, ) and how do i replace other characters with
>> the natural equivalent ( ->  A, ->  E, etc..)
>> I believe that by ignoring certain characters and replacing others, i
>> can achieve the sorting i'm loojing for...
>
> Replacing characters is one way.  Another way would be to create your
> own collating sequence in an array of characters.  There are many other
> ways.
>
>> Question 4: All this make sense? Am i on the right path?
>
>> Thanks in advance for all your advice.
>> Marco
>
> I'd still try to do it in MySQL if it's possible.
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstuck...@attglobal.net
> ==================

i will try posting this in the mysql forum.... in the meantime, i will
continue searching ... will try the collating sequence in an array
option...
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Want to free hosting
Next Topic: [ANN]VTD-XML 2.10
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Fri Sep 20 06:33:20 GMT 2024

Total time taken to generate the page: 0.04467 seconds