2011-03-09 8 views
5

मैं हर पीएचपी पृष्ठ पर निम्न कथन का उपयोग यूनिकोड के लिए कनेक्शन सेट करने के लिए:mysql: प्रत्येक कनेक्शन पर सेट नाम utf8?

mysql_query ('SET NAMES utf8'); 

वहाँ एक रास्ता है कि मैं इस को छोड़ सकते हैं है? सर्वर पर कुछ सेट करके? मेरे पास एक वीपीएस है इसलिए मुझे कुछ भी एक्सेस करने में सक्षम होना चाहिए।

मुझे लगता है कि असली सवाल यह है: क्या मुझे इसकी आवश्यकता है? क्या यह चीजों को गति देगा, मैं इस कथन को हर एचटीएमएल पेज के लिए छोड़ दूंगा?

उत्तर

8

आप mysql config (my.cnf)

[client] 
default-character-set=utf8 

[mysqld] 
default-character-set=utf8 
+1

क्या '[mysqld]' के अंतर्गत पंक्ति वास्तव में आवश्यक है? – Flimm

+0

यह आवश्यक नहीं है (यह वास्तव में व्यर्थ है), क्योंकि 'डिफ़ॉल्ट-वर्ण-सेट' केवल ग्राहकों के लिए उपयोग किया जाता है। और यदि आपका ग्राहक ** mysql ** है तो केवल तभी निर्दिष्ट "डिफ़ॉल्ट-वर्ण-सेट = utf8" खेलने के लिए आता है। अन्य सभी मामलों में आपको 'सेट नाम एक्स' सेट करना होगा। तो, ** mysqld ** अनुभाग के तहत विकल्प व्यर्थ है। – gahcep

1

आप प्रत्येक पृष्ठ में एक कॉन्फ़िगरेशन फ़ाइल क्यों शामिल नहीं करते हैं, जिसमें डीबी कनेक्शन बनाने से संबंधित सभी चीजें शामिल हैं?

इस लाइन, nesseccary है, क्योंकि आप वास्तव में DB में गंदगी डाटा एन्कोडिंग (वहाँ गया, किया :)) कर सकते हैं

2

संशोधित कर सकते हैं जब भी आप कोई नया कनेक्शन शुरू करते हैं तो उस आदेश को चलाकर कोई हानि और प्रभावशाली शून्य प्रदर्शन प्रभाव नहीं होता है।

यदि आप सर्वर कॉन्फ़िगरेशन, here is the appropriate manual page on setting the connection character set defaults को बदलना चाहते हैं। आप बाकी हिस्सों को डिफ़ॉल्ट पर भी पढ़ना चाहेंगे।

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