2013-10-13 11 views
9

समस्या हल हो गई स्थानों के साथ भी काम कर setlocale नहीं (देखें नीचे)पीएचपी मौजूदा

मैं अपने सर्वर पर स्थान प्राप्त हुआ है, मैं, पुष्टि की है कि वे मौजूद (मेरे स्थान -एक नीचे प्रदान की) लेकिन जब मैं उपयोग करें:

setlocale(LC_TIME,'fr_FR'); 
    or setlocale(LC_TIME,'fr_FR.utf8'); 

यह बिल्कुल काम नहीं करता है।

नमूना:

<?php 
    setlocale(LC_TIME,'fr_FR.utf8'); 
    echo 'locale - '.setlocale(LC_TIME,'0'); 
    echo ' : month - '.strftime('%B'); 
    echo '<br />'; 

    setlocale(LC_TIME,'fr_FR'); 
    echo 'locale - '.setlocale(LC_TIME,'0'); 
    echo ' : month - '.strftime('%B'); 
    echo '<br />'; 

    setlocale(LC_TIME,'fr-FR'); 
    echo 'locale - '.setlocale(LC_TIME,'0'); 
    echo ' : month - '.strftime('%B'); 
    echo '<br />'; 

    setlocale(LC_TIME,'fr'); 
    echo 'locale - '.setlocale(LC_TIME,'0'); 
    echo ' : month - '.strftime('%B'); 
    echo '<br />'; 

    setlocale(LC_TIME,'french'); 
    echo 'locale - '.setlocale(LC_TIME,'0'); 
    echo ' : month - '.strftime('%B'); 
    echo '<br />'; 
    ?> 

परिणाम:

locale - C : month - October 
    locale - C : month - October 
    locale - C : month - October 
    locale - C : month - October 
    locale - C : month - October 

स्थान -एक (fr स्थानों दिखाते हुए):

fr_BE.utf8 
    fr_CA.utf8 
    fr_CH.utf8 
    fr_FR.utf8 
    fr_LU.utf8 

मदद के लिए धन्यवाद!

उत्तर

9

ठीक है, इसे पोस्ट करने के बाद, मैंने एक और चीज़ की कोशिश की। तो एक ही समस्या का सामना कर उन लोगों के लिए है, तो आप नए स्थान निर्धारित करने से पहले यह पहली निर्धारित करने की आवश्यकता:

setlocale(LC_TIME, ""); 
+12

यह मेरी मदद नहीं करता है :( – user706420

+2

यह सुनिश्चित करने के लिए जांचें कि आपके पास स्थानीय स्थापित हैं और आपके सर्वर पर उपलब्ध हैं। उन्हें उपयोग करने के लिए उन्हें मौजूद होना चाहिए। 'लोकेल-ए' – kambythet

+0

किसी भी तरह से मेरे लिए काम किया, लेकिन मैं' डी जानना क्यों चाहते हैं? (पीएस: अपना खुद का उत्तर स्वीकार करें ')) 0) – user2019515

3

आप php से पहले नए स्थापित स्थानों का उपयोग पुनः आरंभ करना।

1

आप Apache2 में सिस्टम डिफ़ॉल्ट स्थान का उपयोग करना चाहते हैं, तो आप सिर्फ निम्न पंक्ति जोड़ने के लिए (या हटाएं) की जरूरत है/etc/apache2/envvars फ़ाइल:

. /etc/default/locale 

के बाद apache2 पुनः आरंभ करने के बारे में सोचो स्थानीय ऑपरेशन को जांचने के लिए यह ऑपरेशन और अपने संभावित कैश को साफ़ करें PHP को अच्छी तरह से दिया जाता है।