2012-03-23 22 views
6

जिस कंपनी के लिए मैं काम करता हूं वह उस परियोजना पर बोली लगा रहा है जिसके लिए हमारे ईकामर्स समाधान को सरलीकृत चीनी इनपुट स्वीकार करने की आवश्यकता होगी। अनुसंधान के एक बिट करने के बाद, ऐसा लगता है कि ASP.net भूमंडलीकरण विन्यास आसान बनाता है:सरलीकृत चीनी इनपुट की अनुमति

<configuration> 
    <system.web> 
    <globalization 
     fileEncoding="utf-8" 
     requestEncoding="utf-8" 
     responseEncoding="utf-8" 
     culture="zh-Hans" 
     uiCulture="en-us" /> 
    </system.web> 
</configuration> 

सवाल:

  1. यह वास्तव में सभी ASP.net में यह करने के लिए नहीं है है? यह सच होना अच्छा लगता है।
  2. क्या SQL सर्वर 2005 के साथ कोई डीबी विचार है? डीबी अतिरिक्त कॉन्फ़िगरेशन के बिना सरलीकृत चीनी स्वीकार करेगा?
+3

मेरा मानना ​​है कि आपको यूनिकोड वर्णों का समर्थन करने के लिए चार, वर्कर, और टेक्स्ट से nchar, nvarchar, और ntext में अपने डीबी स्कीमा में फ़ील्ड प्रकारों को बदलना होगा। मुझे एएसपी.नेट भाग के बारे में निश्चित नहीं है। – RMorrisey

+0

इस तरह की स्क्रैच से करने के बजाय ओपन सोर्स ईकामर्स प्लेटफ़ॉर्म का उपयोग क्यों न करें: http://demo.aspxcommerce.com कोडप्लेक्स: http://aspxcommerce.codeplex.com –

उत्तर

6

विज्ञापन 1. असली सवाल यह है कि आप अंतर्राष्ट्रीयकरण के साथ कितना दूर जाना चाहते हैं। क्योंकि i18n न केवल यूनिकोड इनपुट की इजाजत दे रहा है। आपको स्थानीय तिथि, समय और संख्या प्रारूपों, स्थानीय संयोजन (ज्यादातर सॉर्टिंग से संबंधित) का समर्थन करने की आवश्यकता है और सुनिश्चित करें कि आपका एप्लिकेशन स्थानीयकृत ऑपरेटिंग सिस्टम पर सही ढंग से चलता है (जब तक कि आप क्लाउड उर्फ ​​होस्टेड समाधान विकसित नहीं कर रहे हों)। आप here विषय पर और अधिक पढ़ना चाहेंगे।

चीनी चरित्र इनपुट के लिए समर्थन के रूप में, यदि आप चीन में सॉफ्टवेयर पेश करने जा रहे हैं, तो आपको कम से कम GB18030-2000 का समर्थन करना होगा। ऐसा करने के लिए, आपको उचित नेट फ्रेमवर्क संस्करण का उपयोग करने की आवश्यकता है - वह यूनिकोड 3.0 का समर्थन करता है। मेरा मानना ​​है कि यह नेट फ्रेमवर्क 2.0 के बाद से समर्थित था।
हालांकि, यदि आप एक कदम आगे जाना चाहते हैं (जो प्रतिस्पर्धी किनारे प्राप्त करने के लिए आवश्यक हो सकता है), तो आप GB18030-2005 का समर्थन करना चाहेंगे। एकमात्र समस्या यह है कि, इन पात्रों के लिए पूर्ण समर्थन (सीजेके एकीकृत विचारधारा एक्सटेंशन बी) बाद में हुआ (मुझे वास्तव में यकीन नहीं है कि यह यूनिकोड 6.0 या यूनिकोड 6.1 है) प्रक्रिया में। इसलिए आपको नवीनतम नेट फ्रेमवर्क का उपयोग करने के लिए मजबूर होना पड़ सकता है और फिर भी यह सुनिश्चित नहीं है कि इसमें सबकुछ शामिल है या नहीं।
आप Unicode FAQ on Han characters पढ़ना चाहेंगे।

विज्ञापन 2. मैं दृढ़ता से सलाह देता हूं कि आप चीनी वर्णों के साथ SQL सर्वर 2005 का उपयोग न करें। कारण यह है कि पुराने SQL सर्वर इंजन यूटीएफ -16 के बजाय केवल यूसीएस -2 का समर्थन करता है। यह मामूली अंतर के रूप में प्रतीत हो सकता है, लेकिन वास्तव में 4-बाइट हान विचारधाराओं के साथ समस्या उत्पन्न होती है। असल में, आप उन्हें प्रश्नों में उपयोग करने में सक्षम होना चाहते हैं (यानी जैसे या कहां खंड) - आपको सभी रिकॉर्ड्स प्राप्त होंगे। यह वैसे काम करता है। और उनका समर्थन करने के लिए, आपको बहुत विशिष्ट चीनी संयोजन स्थापित करना होगा, जो कि अन्य भाषाओं के लिए समर्थन तोड़ देगा।
असल में, चीनी विचारधाराओं के साथ SQL सर्वर 2005 का उपयोग खराब विचार है।

2

सबसे पहले, मुझे आश्चर्य है कि क्या आप सुनिश्चित हैं कि आपने zh-Hans के साथ सही संस्कृति पहचानकर्ता चुना है, जो neutral culture है। शायद यह एक विशिष्ट संस्कृति को लक्षित करने के लिए आपके लिए उपयुक्त होगा, जैसे कि zh-CN (चीन में चीनी का उपयोग किया जा रहा है) यदि वह बाजार है जिसका आप समर्थन करना चाहते हैं।

दूसरा, संस्कृति सेट करने के लिए web.config फ़ाइल का उपयोग करना ठीक है यदि आप इस संस्कृति को विशेष रूप से लक्षित करने वाली तैनाती की योजना बना रहे हैं। अक्सर आप एक ही तैनाती को अंतिम उपयोगकर्ता की संस्कृति के लिए गतिशील रूप से अनुकूलित करने के लिए चाहते हैं, इस मामले में आप URL12 योजना (उदाहरण के लिए www.myapp) पर उदाहरण के लिए Thread.CurrentCulture (और Thread.CurrentUICulture भी स्थानीय संसाधन प्रदान कर रहे हैं) प्रोग्रामेटिक रूप से सेट करेंगे। कॉम एन-यूएस का उपयोग करेगा और www.myapp.com/china zh-CN का उपयोग करेगा) या स्वीकार्य-भाषा शीर्षलेख या इन-ऐप भाषा चयनकर्ता।

Paweł संदर्भित यूनिकोड सीमाओं के अलावा (जिसका अर्थ है कि आपको वास्तव में नवीनतम .NET Framework/SQL सर्वर का उपयोग करने की आवश्यकता हो सकती है), सरल चीनी के लिए आपको कुछ विशिष्ट करने की आवश्यकता नहीं है - अगर आप मानक internationalization guidelines का पालन करते हैं, आपको सभी सेट होना चाहिए। शायद आपको इस तरह के हिस्से के रूप में चीनी में अपने ऐप को स्थानीयकरण (अनुवाद) पर विचार करना चाहिए।

SQL सर्वर के बारे में, Paweł के अंक बहुत स्पष्ट लगते हैं। उस ने कहा, जब तक आप nvarchar डेटाटाइप (यूनिकोड) का उपयोग करते हैं और आप इन कॉलम पर क्वेरी नहीं चलाते हैं या डीबी पक्ष पर इन कॉलम के आधार पर उन्हें सॉर्ट नहीं करते हैं, तो मुझे आश्चर्य होगा अगर आपको SQL Server 2005 पर कोई समस्या है। तो यह वास्तव में निर्भर करता है कि आप इस डेटा के साथ क्या करते हैं।

+1

निश्चित रूप से, आपका मतलब zh-CN है, नहीं चीनी-स्विट्जरलैंड :) कारण है कि zh-Hans (चीनी, सरलीकृत हान) और zh-Hant (चीनी, पारंपरिक हान) इन लेखन प्रणालियों का उपयोग एक से अधिक देश या क्षेत्र में किया जा रहा है (चीन और सिंगापुर zh-Hans का उपयोग करते हैं, लेकिन ताइवान, हांगकांग और मकाओ zh-hant का उपयोग करता है)। आपके सुझाव के साथ, किसी को मौजूदा संस्कृतियों (zh-CN, zh-sG, zh-TW, zh-MO या zh-HK) का उपयोग करने के लिए CurrentUICulture के रूप में उपयोग करना होगा, जो स्पष्ट रूप से समझ में नहीं आता है (बनाने के लिए बहुत ही उद्देश्य zh-Hans और zh-Hant इस स्थिति से बचने के लिए था)। आपको केवल वर्तमान संस्कृति के लिए विशिष्ट संस्कृतियों का उपयोग करना चाहिए। चीनी-स्विट्ज़रलैंड के लिए –

+0

:) +1! उस ने कहा, मूल पोस्ट में zh-Hans को संस्कृति विशेषता (थ्रेड.कुरेंटकल्चर), यूआईसील्चर नहीं, और इस मामले में एक तटस्थ संस्कृति का उपयोग करना एक अच्छा विचार नहीं है (यदि आप RegionInfo तक पहुंचने का प्रयास करते हैं तो आपको अपवाद मिलता है, और आपको डिफ़ॉल्ट मिलते हैं जो उचित नहीं हो सकते हैं)। क्षेत्रों में संस्कृतियों के बीच मतभेद हैं और एक तटस्थ संस्कृति के पीछे छिपाने की कोशिश कर रहे हैं कि यह मतभेद मौजूद नहीं हैं कि वास्तव में एक (या अधिक) चुनने और आप जो लक्ष्य बना रहे हैं उसे जानने से भी बदतर है। – Clafou

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