function getFirstChar($string) { $firstCharOrd = ord(strtoupper($string{0})); if (($firstCharOrd >= 65 && $firstCharOrd <= 91) || ($firstCharOrd >= 48 && $firstCharOrd <= 57)) return strtoupper($string{0}); $s = iconv("UTF-8","gb2312", $string); $asc = ord($s{0}) * 256 + ord($s{1}) - 65536; if($asc >=- 20319 && $asc <=- 20284) return "A"; if($asc >=- 20283 && $asc <=- 19776) return "B"; if($asc >=- 19775 && $asc <=- 19219) return "C"; if($asc >=- 19218 && $asc <=- 18711) return "D"; if($asc >=- 18710 && $asc <=- 18527) return "E"; if($asc >=- 18526 && $asc <=- 18240) return "F"; if($asc >=- 18239 && $asc <=- 17923) return "G"; if($asc >=- 17922 && $asc <=- 17418) return "H"; if($asc >=- 17417 && $asc <=- 16475) return "J"; if($asc >=- 16474 && $asc <=- 16213) return "K"; if($asc >=- 16212 && $asc <=- 15641) return "L"; if($asc >=- 15640 && $asc <=- 15166) return "M"; if($asc >=- 15165 && $asc <=- 14923) return "N"; if($asc >=- 14922 && $asc <=- 14915) return "O"; if($asc >=- 14914 && $asc <=- 14631) return "P"; if($asc >=- 14630 && $asc <=- 14150) return "Q"; if($asc >=- 14149 && $asc <=- 14091) return "R"; if($asc >=- 14090 && $asc <=- 13319) return "S"; if($asc >=- 13318 && $asc <=- 12839) return "T"; if($asc >=- 12838 && $asc <=- 12557) return "W"; if($asc >=- 12556 && $asc <=- 11848) return "X"; if($asc >=- 11847 && $asc <=- 11056) return "Y"; if($asc >=- 11055 && $asc <=- 10247) return "Z"; return null; }