سؤال

لدي خادم VPS مستضاف تستضيفه شركة استضافة في المملكة المتحدة والذي تم ضبطه لسبب ما على إعدادات الولايات المتحدة.في الواقع، حتى وقت قريب، كانت الإعدادات الإقليمية هي "الإنجليزية - الولايات المتحدة".لقد قمت بتصحيح الإعدادات الإقليمية، لكن تطبيقي لا يزال يعمل بتنسيق تاريخ خاطئ.يرى:

http://www.albaassoc.com/events/listevents.aspx

من المفترض أن تكون التواريخ الافتراضية هي التاريخ الحالي إلى التاريخ + 3 أشهر، ولكن كما ترى، يتم تبديل الحقلين dd وMM.ملحوظة:تم ضبط موسع تقويم AJAX يدويًا على dd/MM/yyyy، ولهذا السبب يعتقد منبثق التقويم أننا مهتمون بشهر يونيو/يوليو بدلاً من يناير!

أعلم أن هناك طرقًا مختلفة لتعيين صفحة أو تطبيق لاستخدام لغة معينة، لكنني أفضل اتباع نهج عالمي.

هل من الممكن إعادة تكوين IIS للعمل في لغة مختلفة، أم إذا لم يكن الأمر كذلك، فهل يمكنني تعديل Machine.config بحيث يكون التغيير مرة واحدة فقط؟

لدي تذكرة مفتوحة مع المضيف ولكنني لن أحبس أنفاسي - فلن يرغبوا في إعادة تثبيت IIS...

شكرا لك مقدما.

هل كانت مفيدة؟

المحلول

عبر العولمة العنصر، يمكنك تعيين الثقافة وثقافة المستخدم لموقع ما (عبر web.config) أو الجهاز بأكمله (عبر Machine.config).

نصائح أخرى

لقد حصلت للتو على مشكلة مماثلة (Windows Server 2008، IIS 7).لقد تمكنت من إصلاح المشكلة عن طريق تحرير ملف تكوين الويب، ولكن مثلك أردت إصلاحًا عالميًا.

الحل موجود في لوحة التكوين والإعدادات الإقليمية.لا أعرف بالنسبة لك (ما هو نظام التشغيل لديك)، ولكن ضمن WS2008، توجد علامة تبويب إدارية ضمن الإعدادات الإقليمية.فهو يسمح لك بنسخ إعدادات المستخدم الذي قام بتسجيل الدخول (أنت) إلى الحسابات الإدارية (خدمات الشبكة في هذه الحالة).إعادة التشغيل وحصلت على حق.

تكمن المشكلة غالبًا في أن المستخدم الذي يقوم بتشغيل IIS أو تجمع التطبيقات الذي ينتمي إليه تطبيقك هو حساب نظام تم إنشاؤه عند تثبيت الخادم.ولذلك فقد ورثوا اللغة الافتراضية مهما كانت في ذلك الوقت.

إذا لم تتمكن من إصلاحه في الخيارات الإقليمية وخيارات اللغة، فيمكنك دائمًا محاولة التحرير في السجل مباشرةً (مع الشرط المعتاد الذي قد يؤدي العبث بالسجل إلى إفساد Windows بشكل خطير).جميع الإعدادات الإقليمية موجودة ضمن HKEY_USERS\{userid}\Control Panel\International - إذا قارنت ما هو موجود لكل مستخدم مع ما لديك ضمن HKEY_CURRENT_USER\Control Panel\International، فيجب أن يكون واضحًا إلى حد ما ما يجب تغييره.لقد قمت بذلك عدة مرات على خوادم Windows 2000 وعملت بشكل جيد.

الخيار الآخر هو فقط إنشاء مستخدم جديد على الجهاز باستخدام اللغة الصحيحة ثم تعيين IIS وتجمع التطبيقات للعمل بهذه الهوية.

إنه موضوع قديم بعض الشيء، لكنني ما زلت أعتني ببعض مواقع ASP الكلاسيكية القديمة التي كتبتها حضارة الأزتك البائدة الآن في مدح آلهتهم ذات الريش.

أدى نقل الخادم إلى منع جميع رموز التاريخ من العمل ولم تكن التضحية بالدجاجة مفيدة، لذا إليك الحل السهل جدًا في IIS 7 الذي لم يتم ذكره، ربما لأنه لا أحد يعاني مثلي.

  1. انتقل إلى مدير IIS.
  2. حدد إما عقدة الخادم الجذر لتطبيقها على كافة المواقع، أو حدد عقدة الموقع التي تواجه مشكلات معها إذا كنت تريد ترك الخادم الافتراضي وحده.
  3. في قسم IIS، انقر نقرًا مزدوجًا فوق رمز ASP.
  4. قم بتعيين معرف اللغة على اللغة التي تريدها (2057 للمملكة المتحدة).

وهذا يجب أن يصبح ساري المفعول على الفور.

وبدلاً من ذلك، يمكنك شراء سيارة DeLorean، والعودة بالزمن إلى الوراء وقتل المبرمج الذي اتخذ القرار FormateDateTime(d, vbLongDate) كانت أفضل طريقة لإنشاء تاريخ لاستخدامه في قاعدة البيانات.أو إقناع العميل بإعطائي الكثير من المال لاستبدال الأمر برمته.إما جيد.

واجهت مشكلة في تنسيق التاريخ mm/dd/yyyy عندما أردت أن يكون dd/mm/yyyy.أنا أستخدم ويندوز سيرفر 2003 وIIS 6

كان الحل هو إضافة ما يلي إلى أي ملف تكوين ويب، ثم إعادة تشغيل الخادم الخاص بك ويجب أن يعمل بشكل جيد.

<globalization requestEncoding="utf-8" responseEncoding="utf-8"  culture="en-GB" />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top