2013-03-30 13 views
8

इम strtolower यकीन है कि यह कुछ स्पष्ट मैं याद कर रहा हूँ है, लेकिन मैं एक स्ट्रिंग 'जीबी' है कि $ str के रूप में संग्रहीत किया जाता है और उसके बाद strtolower का उपयोग कर बाहर गूँजती है ...सरल काम नहीं कर रहा

$str = bp_member_profile_data('field=Country'); 
echo strtolower($str); 

मैं कर रहा हूँ है 'जीबी' (लोअरकेस) देखने की उम्मीद है लेकिन आउटपुट अभी भी 'जीबी' (अपरकेस)

मैं गलत क्या कर सकता हूं?

अद्यतन यह बताता है कि समस्या bp_member_profile_data के साथ झूठ बोला है, यह एक BuddyPress PHP फ़ंक्शन है जो स्वचालित रूप से echos है, इसलिए यह strtolower को अनदेखा कर रहा था - इसे कम करने में मदद करने के लिए सभी को धन्यवाद!

mb_strtolower($str); 

यह काम कर सकते हैं:

+4

कृपया [hexdump] (http://stackoverflow.com/questions/1057572/how चाहते हो सकता है -can-i-get-a-hex-dump-of-a-string-in-php) परिणाम स्ट्रिंग। – mario

+1

शायद आपको 'mb_strtolower ($ str)' का उपयोग करना चाहिए, यदि इनपुट स्ट्रिंग अलग-अलग भाषा में है जो सर्वर लोकेल है, या यदि आपके वर्ण थोड़ा विदेशी हैं, जैसे 'GB' (मैंने उन्हें लिखने के लिए पूर्ण चौड़ाई रोमाजी का उपयोग किया) – Jean

+0

मैंने echo bin2hex ($ str) के साथ स्ट्रिंग को हेक्सडम्प करने का प्रयास किया है; लेकिन मुझे उस – fightstarr20

उत्तर

4

बाहर चेक साथी प्रेस bp_member_profile_data() समारोह, यह गूँज:

function bp_member_profile_data($args = '') { 
    echo bp_get_member_profile_data($args); 
} 

आप का उपयोग करने के bp_get_member_profile_data()

+0

अनमार्क किया है, जो कुछ ही शोध के बाद मैंने अभी पाया है! इसके लिए धन्यवाद और सभी के लिए एल्स मदद करते हैं – fightstarr20

4

उपयोग करने के लिए प्रयास करें।

PHP Manual से:

इनपुट स्ट्रिंग अलग भाषा में है कि सर्वर वातावरण है, तो आप mb_strtolower() फ़ंक्शन का उपयोग करना चाहिए।

समारोह प्रोटोटाइप है:

string mb_strtolower (string $str [, string $encoding = mb_internal_encoding() ]) 

आप उचित एन्कोडिंग जोड़ने की कोशिश कर सकता है।

एन्कोडिंग पैरामीटर वर्ण एन्कोडिंग है। यदि इसे छोड़ा गया है, आंतरिक वर्ण एन्कोडिंग मान का उपयोग किया जाएगा।

+0

अपडेट करें मैंने यह भी कोशिश की है कि कोई भाग्य – fightstarr20

+2

Wierd के साथ भी। जैसा कि मारियो ने सुझाव दिया है, कृपया परिणाम स्ट्रिंग हेक्सडम्प करें? शायद आपको अक्षर एन्कोडिंग निर्दिष्ट करनी चाहिए? – Jean

+1

क्या आपने इसे यूटीएफ -8 पैरामीटर 'mb_strtolower ($ str,' UTF-8 ') के साथ करने की कोशिश की है; '? –

संबंधित मुद्दे