Autor Zpráva
Dot@z
Profil *
Mám tento kód:
.
.
.
if($ldapCon) {
        ldap_set_option($ldapCon, LDAP_OPT_PROTOCOL_VERSION, 3);
        ldap_set_option($ldapCon, LDAP_OPT_REFERRALS, 0);
        $res = ldap_bind($ldapCon, "domena\administrator", "xxxxxxxxxxxx");
        $rec = ldap_search($ldapCon, $baseDN, $filter); 
        ldap_sort($ldapCon, $rec, 'cn');
        $info   = ldap_get_entries($ldapCon, $rec); 
      }
      
      for($i=0; $i<$info["count"]; $i++) {
        echo "<td>".iconv("UTF-8", "ISO-8859-2", $info[$i]["displayname"][0])."</td>";
       } 
Informace načítám z Windows AD. Výpis na stránku je v pořádku, české znaky jsou (zobrazeny) v pořádku. Problém je ale s řazením záznamů (SORT), jakmile se ve jménu nachází písmeno s háčkem tak je tento záznam zařazen dolu.
Takže potom je:
A,B,D,E,Č
Nemáte radu jak ldap_sort($ldapCon, $rec, 'cn'); provést třídění s ohledem na české znaky?
abc
Profil
Dot@z:
Dlouho nikdo neodpovídá, tak já si tipnu, že to je tim řadíte v ISO-8859-2, ve kterém jsou české znaky až za anglickými?
Dot@z
Profil *
Nejsem si jist, ale k smotnému řazení dochází na řádce 9 a ke konverzi ve výpisu (iconv) dochází mnohem pozdějí a navíc již na setříděných datech. :-(
Myslel jsem si, že existuje nějaký parametr k ldap_sort($ldapCon, $rec, 'cn');, kterým se určí znaková sada dat v AD.
Udělal jsem telefonní seznam organizace a vypadá to šíleně, když jsou lidi s "Č" na konci seznamu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: