[align=right]
[align=right]
السلام عليكم ورحمة الله
من مدة ما نزلت موضوع واليوم جبت لكم موضوع مهم :
بعض الأحيان يلاحظ البعض ان حقنته تكون صحيحة ولكن عند حقن طلب لعمود من جدول يظهر الخطأ
سبب الخطأ باختصار ان العمود في الاستعلام الأصلي "قبل union" يختلف التشفير او encode فيه عن العمود الذي تستغله انت "بعد union" فيكون الأول مثلاً بشفرة utf8 والثاني latin1 وهكذا
والحل هو تحويل العمود الذي تستغله انت الى النمط المعرف للعمود المقابل له في استعلام ماقبل union
للتحويل نستخدم دالة convert
مثال: لو فرضنا ان العمود في استعلام ماقبل union معرف على شفرة utf8 وكان العمود الذي تحقنه latin1 فسيظهر الخطأ السابق, والتحويل كالتالي:
كود:
union select convert(column using utf8) from table
بحيث column العمود المراد تحويله
table الجدول
ولاتنسى كتابة ارقام الاستغلال الأخرى قبل او بعد هذا العمود حسب حقنتك
وفي حال كان الترميز latin1
كود:
CONVERT(asd USING latin1)
قد يكون الترميز ascii بعض الأحيان فيكون التحويل :
كود:
CONVERT(asd USING ascii)
ولاداعي لأن تخشى عدم معرفتك لنوع التشفير المطلوب التحويل اليه ... يكفي تجريب التحويل الأول ومن ثم الثاني واحدهما سينجح معك باذن الله
بالتوفيق يا شباب
Adiooooos
[/align]
[/align]
pg la;gm Illegal mix of collations for operation 'UNION'