MySQL

2012-01-03 6 views
5

के साथ गैर-अंग्रेज़ी नामों को सॉर्ट करना मैं ग्रीक वर्णों वाली तालिका को सॉर्ट करने का प्रयास कर रहा हूं। तालिका के संबंधित अंग्रेजी संस्करण को क्रमबद्ध किया जा रहा है (ASC और DESC दोनों) ठीक है, हर बार जब आप तालिका के शीर्षलेख पर क्लिक करते हैं।MySQL

मैंने ग्रीक मंचों पर खोज की है और सुझाव दिया गया है कि एकमात्र समाधान ORDER BY BINARY का उपयोग करना है। वास्तव में, कई लोगों ने कहा कि बाइनरी आदेश के उपयोग से उनकी समस्या हल हो गई है। दुर्भाग्यवश, यह मेरे मामले में नहीं है। मुझे पता है कि जर्मन जैसी भाषाओं के साथ एक ही समस्या मौजूद है जहां उमलॉट्स का उपयोग आदेश और सामान्य कारकों के साथ सामान्य रूप से गड़बड़ करता है। अगर किसी को कोई समस्या है कि इस समस्या को दूर करने के लिए मैं आभारी रहूंगा।

+1

लौटना चाहिए कि मैं क्या हिब्रू से पता से, गैर-लैटिन भाषाओं उनके ASCII द्वारा हल कर रहे हैं (या यूनिकोड) सूचकांक, जो आम तौर जैसी भाषाओं के साथ काम करना चाहिए ग्रीक। तो मुझे नहीं पता कि समस्या कहां है। क्या आप अपना प्रश्न फोकस कर सकते हैं? –

+0

मैंने आपके [टैग: PHP] टैग को [टैग: MySQL] में बदल दिया है क्योंकि इसका PHP के साथ कुछ लेना देना नहीं है। इसके अलावा, क्या आप ऐसा कुछ उदाहरण दे सकते हैं जो अच्छी तरह से व्यवस्थित न हो? बस कुछ नाम क्या [charset] (http://dev.mysql.com/doc/refman/5.0/en/charset.html) आपकी तालिका है? – kba

+0

समस्या यह है कि मुझे सही आदेश नहीं मिलता है। उदाहरण के लिए शुरू होने वाले शब्द, ए जो यूनानी में भी वर्णमाला का पहला अक्षर है, वे लगभग मेरी तालिका के अंत में दिखाई देते हैं। मैं PHP का बहुत विशेषज्ञ नहीं हूं और अब मैं सोच रहा हूं कि तालिका का संयोजन समस्या है या नहीं? – user926652

उत्तर

2

a thread on forums.mysql.com के अनुसार, MySQL 6.0 में, आप ग्रीक नामों को सॉर्ट कर सकते हैं यदि आपकी तालिका का वर्णसेट utf8_general_ci पर सेट किया गया है।

create table t (s1 char(1) character set utf8 collate utf8_general_ci); 
insert into t values ('Α'),('Β'),('Γ'),('Δ'),('Ε'),('Ζ'); 
select * from t order by s1; 

ऊपर

+----+ 
| s1 | 
+----+ 
| Α | 
| Β | 
| Γ | 
| Δ | 
| Ε | 
| Ζ | 
+----+ 
+0

मैं MySQL 5.1.53 का उपयोग कर रहा हूं। आप सुझाव देते हैं कि मुझे नवीनतम में अपग्रेड करना चाहिए? – user926652

+0

@ user926652, यह MySQL 5.1.x पर काम नहीं करता है, लेकिन यह MySQL 6 पर करता है - यह सब मैं कह सकता हूं। चाहे आपको अपग्रेड करना चाहिए, मैं नहीं बता सकता। यह विकास के शुरुआती चरण में प्रतीत होता है, इसलिए यह एक अच्छा विचार नहीं हो सकता है - लेकिन यह _this_ समस्या को हल करेगा। – kba