2011-03-31 87 views
1

我已經給出了一個需要按鍵(關聯數組)排序的數組,並且它可能有一些重音字符(à,è,ì等)。如果它有幫助,我確實知道將要使用的語言,所以我應該能夠在理論上設置語言環境。所以,我原來的理論是做像這樣:PHP ksort似乎不受setlocale的影響

setlocale(LC_COLLATE, 'fre'); 
ksort($array, SORT_LOCALE_STRING); 

不出現改變ksort在所有的工作方式 - 重音符號總是最後字母時,我會覺得他們應該經過至少來常規字符。例如,'èvery'會在'every'之後出現,但不會在'fair'之後出現。於是,我開始研究collat​​or,但找不到用數組鍵排序的方法。如果有人有任何想法,將不勝感激。

+3

你確定你的語言代碼正確嗎? – 2011-03-31 20:21:25

+0

在這裏工作,確實很可能是locale問題。 – Wrikken 2011-03-31 20:25:57

+0

我不確定,我基於'fre':「類別/區域名稱可以在»RFC 1766和»ISO 639中找到。不同的系統有不同的區域設置命名方案。」從http://php.net/manual/en/function.setlocale.php,我用鏈接頁面上的第二個ISO 639代碼(顯示fra/fre) – 2011-03-31 20:26:36

回答

2

這是在Windows還是Linux(或Mac)服務器上?我相信Windows上的語言環境代碼略有不同...例如Linux上的'nl_NL'和Windows上的'nld_nld'。

+0

請參閱http://msdn.microsoft.com/en-us/library/39cwe7zf%28vs.71%29.aspx Winows區域代碼。他們是不同的,並不是每個地區都支持。 – 2012-03-17 14:12:37

相關問題