Hello everybody,
I am using WAMP:
1. PHP 5..
2. MySQL 5..
3. Apache 2..

the collation of my database and tables and fields are 'utf8_persian_ci', and also my query is in this format in PHP:

mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
$query = mysql_query("SELECT * FROM tblName SORT BY fieldName COLLATE utf8_persian_ci");

this all utf8 is for my Arabic and persian words...

Problem:
I faced a problem on sorting english words, I dont know why the result on the browser is like the attachment

Member Avatar for amigura

just a guess check for extra spaces

There is no more spaces...

just I dont know why doing like this

I dont have farsi sort problem, but see the attachment, the problem is that the english words are not sorted correctly ...

also I enter through the web, mysql command line, phpMyAdmin the following data:
Asad
asad
Asad
asad

and again by executing the following query I get the same dispaly:
SELECT * FROM tblName order by fieldName;

or

SELECT * FROM tblName order by fieldName COLLATE utf8_persian_ci;

The Result:
Asad
asad
Asad
asad

Member Avatar for amigura

try

SELECT * FROM  table_name ORDER BY BINARY column_name ASC

Then if I try to use the binary, then it is ok, but you know that the binary sort according to ascii code of the character, then the following problem:
Asad
asad
Asad
asad
Bob
Tom
the output:

Asad
Asad
Bob
Tom
asad
asad

The sort must be like this:
Asad
Asad
asad
asad
Bob
Tom

Member Avatar for amigura

SELECT * FROM table_name ORDER BY column_name, BINARY column_name ASC

again it is the same result, nothing more... but I need the result as:
Asad
Asad
asad
asad
Bob
Tom

Member Avatar for amigura

when i try it i get

ASAD
ASAD
ASAD
AsAD
Asad
Asad
asad
asad
BOB
Bob
bob
TOM
tom
tom

Yes. Thanks very much, I forgot putting the comma ....


Thanks

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.