2008-09-30 18 views
26

में डिफ़ॉल्ट collation बदलें यह मुझे लगता है कि phpMyAdmin collation latin1_swedish_ci के साथ डिफ़ॉल्ट रूप से टेबल आयात करता है, मैं इसे कैसे बदलूं?phpmyadmin

+0

[यह उत्तर दिखाता है कि इसे phpMyAdmin से कैसे बदला जाए] (http://stackoverflow.com/a/12719854/731314)। – Gary

उत्तर

17

अपनी MySQL कॉन्फ़िगरेशन में [mysqld] टैब के अंतर्गत डिफ़ॉल्ट-वर्ण-सेट ऑपरेटिव को बदल दें। उदाहरण के लिए:

[mysqld] 
default-character-set=utf8 

परिवर्तनों को प्रभावी होने के बाद बाद में अपने MySQL सर्वर को पुनरारंभ करना न भूलें।

+2

यह डेबियन के 5.5.28-1-लॉग में मान्य नहीं है, डिफ़ॉल्ट-वर्ण-सेट अमान्य मान है। – Skynet

+9

उपर्युक्त समाधान काम नहीं करता है, मैंने इसके बजाय यह किया: '[mysqld] character-set-server = utf8 collation-server = utf8_general_ci' –

13

यह phpMyAdmin प्रश्न नहीं है।

कॉलेशन हाल ही में MySQL रिलीज़ का हिस्सा हैं, आपको उस व्यवहार को बदलने के लिए सर्वर (या कम से कम डेटाबेस) का डिफ़ॉल्ट संयोजन सेट करना होगा।

UTF-8 में पहले से ही आयातित टेबल बदलने के लिए आप (PHP में) कर सकते हैं:

$dbname = 'my_databaseName'; 
mysql_connect('127.0.0.1', 'root', ''); 
mysql_query("ALTER DATABASE `$dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); 
$res = mysql_query("SHOW TABLES FROM `$dbname`"); 
while($row = mysql_fetch_row($res)) { 
    $query = "ALTER TABLE {$dbname}.`{$row[0]}` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; 
    mysql_query($query); 
    $query = "ALTER TABLE {$dbname}.`{$row[0]}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; 
    mysql_query($query); 
} 
echo 'all tables converted'; 

कोड here से लिया स्निपेट।

14
  1. आपको MySQL कॉन्फ़िगरेशन फ़ाइल तक पहुंच की आवश्यकता है। स्थान /etc/my.cnf to ~/my.cnf (उपयोगकर्ता निर्देशिका) से भिन्न हो सकता है।
  2. अनुभाग [mysqld] में निम्नलिखित लाइनों जोड़ें:

collation_server = utf8_unicode_ci

character_set_server = UTF8

3 .. सर्वर को पुनरारंभ करें: (लिनक्स के लिए) सेवा mysqld पुनः आरंभ

7

पता है कि यह एक पुरानी पोस्ट है। लेकिन जिस तरह से मैंने phpMyAdmin के माध्यम से डिफ़ॉल्ट वर्णसेट बदल दिया था:

phpMyadmin मुख्य पृष्ठ> चर टैब (सर्वर चर और सेटिंग्स)> "वर्ण" के लिए खोजा गया और "latin1" से "utf8" में सभी चर बदल दिया। (phpMyAdmin v। 3.5.7 के साथ एक एमएएमपी स्थापना पर)

और जैसा कि अन्य ने कहा, यह MySQL के लिए चर है और कुछ phpMyAdmin विशिष्ट नहीं हैं।

+0

यह अगले WAMP को पुनरारंभ होने तक रहता है। मैं इन सेटिंग्स को कैसे सहेज सकता हूं? – texnic

+0

मैं इस सवाल का जवाब देते समय एमएएमपी का उपयोग कर रहा था, यह सुनिश्चित नहीं है कि एमएएमपी और डब्ल्यूएएमपी उसी तरह कॉन्फ़िगर किए गए हैं या नहीं। लेकिन मैं अब उन इंस्टॉलेशन का उपयोग नहीं करता, मैं इसे खरोंच से बना देता हूं .. शायद कोई और मदद कर सकता है ?? –

+0

बस विंडोज़ को फिर से मिला, ऊपर की समस्या में भी भाग गया, जहां वैंप फिर से शुरू करने पर कॉन्फ़िगर को रीसेट कर देता है। मैंने निम्नलिखित पोस्ट का पालन करके इसे हल किया: http://stackoverflow.com/a/14194212/900774 –

1

MySQL डीबी «बदलें Collation डाटाबेस का नाम | utf8_general_ci तालिका को यूनिकोड का समर्थन करने के लिए।

बदलें विन्यास सेटिंग्स फ़ाइल भी


XAMPP: टिप्पणी हटाएं UTF 8 Settings विन्यास सेटिंग्स से दायर «D:\xampp\mysql\bin\my.ini

## UTF 8 Settings 
#init-connect=\'SET NAMES utf8\' 
collation_server=utf8_unicode_ci 
character_set_server=utf8 
skip-character-set-client-handshake 
character_sets-dir="D:/xampp/mysql/share/charsets" 

MySQL सर्वर के लिए UTF8 और फ़ाइल my.cnf

## UTF 8 Settings 
collation_server=utf8_unicode_ci 
character_set_server=utf8 

@see

में कोड की नीचे लाइन का समर्थन करने के 10