2013-07-20 3 views
3

임 .. SQL에서 히브리어를 정렬하고 PHP에서 그것을 인쇄 할
내가하려고 노력 :어떻게 Mysql에서 히브리어를 정렬 할 수 있습니까?

$query_skey002 = "SELECT * FROM `s_keywords` ORDER BY `name2` ASC"; 

망가 작업 ..
내가 PHP를 정렬 기능을 사용하려고하지만 난 정렬하는 방법을 잘 모릅니다 이 함수의 SQL 배열
도와 주셔서 감사합니다.

+1

흠, 아마도 바이너리 문자열을 주문하고 싶습니다 (인코딩이 잘못된 것처럼 보입니다)? 보십시오 :''SELECT * FROM's_keywords' ORDER BY BINARY'name2' ASC'' – Leri

+0

감사합니다 !!! 작동! @PLB –

+1

안녕하십니까. :) 글쎄 요점은 작동하게하지 않습니다. 나는 왜 그것이 효과가 있었는지, 당신이 이해하기를 바랍니다. 어쨌든, 내가 널 도왔다 니 기쁘다. 아, 그리고 한가지 더 중요한 점은 :'name2'가'BINARY'로 형변환 된 후 인덱스되는 경우, mysql은 인덱스를 사용하지 않을 것입니다. – Leri

답변

2

올바른 문자 집합/데이터 정렬을 사용하면 MySQL은 hebrew 텍스트를 정렬 할 수 있습니다. 내가 잘못 아니에요 당신이 알파벳 순서에 따라 정렬하는 방법을 의미하는 경우

http://dev.mysql.com/doc/refman/5.0/en/charset-mysql.html

+0

나는 그것을 시험해 보았다. 그러나 php는 나에게 "???"을 쓴다. 내가 인쇄 할 때 –

+0

내 sql을 사용하여 hebrew_general_ci 내 PHP 헤더는 windows-1255 –

0

는, 당신은 테이블 이리저리 적절한 정렬을 사용합니다. 아마 UTF8 총장은 작업 난 그냥

에 모두를 위해
$query_skey002 = "SELECT * FROM `s_keywords` ORDER BY BINARY `name2` ASC"; 

감사 쿼리를 변경

+0

내 사이트 windows-1255 charset을 사용하여 –

+0

utf8을 사용해야합니다. 나는 페르시아 문자로이 문제를 겪었으므로 아무 것도 할 수 없었습니다. 데이터베이스에 쿼리를 설정하기 전에 set_charset ('utf-8') (또는 다른 무엇이라도)을 사용해야합니다. 즉, db에 연결 한 후 $ db-> set_charset ('utf-8'); –

0

나는 그것을 해결 ..! ..

+3

_Note : _ name2가 색인 된 경우 mysql은'index'를 사용하지 않습니다. 인코딩을 수정하는 것이 좋습니다. ;) – Leri

0

이상하게도 (또는하지 이상한을 수행하면 경우) 젠드는 IL 회사입니다에서 간단한

sort($query_skey002);

을 알고3210은 HE를 위해해야만합니다 ...

관련 문제