आप यूनिकोड डेटा बचत कर रहे हैं, तो आप एक स्तंभ प्रकार nvarchar (एट। अल) में बचाने की जरूरत है MSSQL करने के लिए और क्या आप तैयार बयान का उपयोग कर रहे हैं, तो राजधानी एन साथ एसक्यूएल STRING शाब्दिक उपसर्ग चाहिए, तो आप उपसर्ग मूल्यों की जरूरत नहीं है एन के साथPHP, ओआरएम, एमएसएसक्यूएल और यूनिकोड, क्या यह काम एक साथ करना संभव है?
tbl में डालने (col) मूल्यों (N'hello ')
आप जेडएफ डीबी की तरह एक ORM का उपयोग कर रहे हैं, तो आप पीडीओ का उपयोग कर रहे MSSQL को conect करने के लिए (या आप विंडोज पर तैनाती कर रहे हैं , इस मामले में आप SQLSRV या PDO_SQLSRV का उपयोग कर रहे हैं और सबकुछ काम करेगा और मेरा प्रश्न अब और समझ में नहीं आता है)।
यदि आप किसी भी पीडीओ संस्करण का उपयोग कर रहे हैं जो लिनक्स पर mssql (sybase, dblib, आदि) से कनेक्ट होता है तो आपको वास्तविक तैयार कथन नहीं मिलते हैं, केवल नकल किया जाता है।
आप तैयार बयान नकल करते है, तो तार के स्तर पर,, एसक्यूएल पूरी तरह से बाहर केवल स्ट्रिंग शाब्दिक के साथ लिखा जाता है और इसका मतलब है कि आप
- यह बिल्कुल है एन के साथ किसी भी संभावित यूनिकोड मान उपसर्ग चाहिए ZF के साथ एन के साथ स्वचालित रूप से किसी भी चार मान को प्रीपेड करना संभव है?
- क्या कोई ओआरएम/टेबल गेटवे libs है जो इस तरह के मूल्य कुशलता की अनुमति देता है?
- क्या लिनक्स से सर्वर पक्ष तैयार कथन सक्षम करने का कोई तरीका है?
- क्या कोई वास्तव में लिनक्स कोड से उत्पादन PHP चलाता है और इसे एमएसएसक्यूएल के खिलाफ चलाता है? (यदि हाँ, आप कैसे यूनिकोड के साथ सौदा करते हैं?)
संपादित करें: मैं लिनक्स से MSSQL को बचाने के लिए यूनिकोड प्राप्त कर सकते हैं, लेकिन 7/8 के लिए FreeTDS प्रोटोकॉल उन्नयन सभी व्यवस्थाएं/पुस्तकालयों/ORMS को तोड़ने के लिए है क्योंकि लगता है एन उपसर्ग के साथ सामान्य एसक्यूएल क्या होगा बदलने के लिए पूर्ण आवश्यकता का। मुझे यकीन नहीं है कि इंटरनेट पर कोई भी जो दावा करता है कि प्रोटोकॉल संस्करण 7/8 में अपग्रेड करने से उनका यूनिकोड समस्याएं वास्तव में हाथों के अलावा कुछ भी करती हैं, प्रत्येक गैर-पोर्टेबल तरीके से प्रत्येक SQL कथन लिखते हैं। ऐसा लगता है कि फ्रीट्स 4.2 पर रहना यूनिकोड/यूटीएफ -8 और एमएसएसक्ल से निपटने का सबसे अच्छा तरीका है।
क्षमा, पीडीओ :: lastInsertId काम नहीं करता है, तो यह शायद है नो-जाना सबसे ORMs के साथ। –
मैं एक ओआरएम को संशोधित करने में कामयाब रहा ताकि वह पीडीओ :: lastInsertId में उपयोग करने का प्रयास न करे, लेकिन आईडी को वापस पाने के लिए सम्मिलित बयानों में OUTPUT खंड का उपयोग करता है। यह एक आश्चर्यजनक रूप से सरल परिवर्तन था। सब कुछ अब के लिए अच्छा लग रहा है। –
हैलो @ टार्ने, यह सुनना अच्छा है! आपने क्या ओआरएम संशोधित किया? मैं माइक्रोसॉफ्ट के ड्राइवरों पर काम करता हूं और आपकी समस्या के बारे में अधिक जानना चाहता हूं और आप इसे ठीक करने के लिए कैसे मिलते हैं। –