سؤال

لقد وجدت الكثير من المخللات مع خادم ويب جديد.لدينا خادم ويب جديد يعرض التواريخ بشكل مختلف عن خوادم الويب القديمة.

نقوم بتشغيل صفحات الويب الكلاسيكية asp على IIS 6.0 مع Windows Server 2003.

لقد قمنا بتسجيل الدخول كمسؤول وقمنا بتعيين الإعدادات الإقليمية حسب الاقتضاء ثم قمنا بتطبيق الإعدادات على المستخدم الحالي وملف تعريف المستخدم الافتراضي.

انتقلنا بعد ذلك إلى التسجيل وقمنا بتحديث التنسيقات المناسبة تحت HKEY_USERS/.default/control Panel/international.

قم بتحديث تكوين asp.net لمواقعنا الإلكترونية إلى صفحة التعليمات البرمجية والإعدادات المحلية الصحيحة.

هل لدى أي شخص أماكن أخرى يمكن أن يحصل التطبيق منها على تنسيقات التاريخ؟

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

المحلول

وأنا أعلم أن هذا ليس هو الطريق "الصحيح" لإصلاح المشكلة. ومع ذلك، وكتب تطبيق منذ سنوات عديدة، والحصول على شيء من خلال مراقبة التخطيط / التغيير سيكون الألم، وهو التطبيق الوحيد الذي يعمل على الخادم. وبالتالي فإنه على ما يرام لتكوين ملقم لتلبية هذا الطلب واحد. وبالاضافة الى ذلك كان يقود لي مجنون أن الخادم الجديد الذي يجب أن يتم تكوين مماثل إلى ملقم القديم لم يكن يعمل.

وتبين أنه بالإضافة إلى HKEY_USERS/*/Control Panel/international، هناك إعداد لبرامج غير يونيكود. ويمكن العثور عليها تحت HKLM/system/currentcontrolset/control/nls/language/Default. تعيين هذا إلى صفحة التعليمات البرمجية الصحيحة ومن الذهبي.

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

ويمكنك ضبط صيغ من خلال زر "customize. يمكنك تغيير "لغة لبرامج غير يونيكود" ضمن علامة التبويب متقدم. فقط تأكد من مراجعة "تنطبق على الوضع الافتراضي" في الجزء السفلي من علامة التبويب متقدم.

نصائح أخرى

وأنا لا أعتقد أن أعلى الأصوات الجواب الصحيح، على الرغم من انها قريبة.

واضطررت لاستخدام regedit لتغيير كافة إعدادات تدويل جامعة هونغ كونغ \ S-1-5-19 \ لوحة التحكم \ الدولي (السلطة NT) وجامعة هونغ كونغ \ S-1-5-20 \ لوحة التحكم \ الدولي (الشبكة خدمة) لمطابقة الإعدادات التي كانت سابقا في جامعة هونغ كونغ \ S-1-5-18 \ لوحة التحكم \ الدولي (النظام المحلي).

وهذا عملت على أكمل وجه.

وI تعديل جميع الإعدادات كنت أرى التي كانت مختلفة، باليد.

وأود أن أعتقد أنني فقط حقا بحاجة إلى تغيير إعدادات S-1-5-20 (خدمة شبكة).

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

<%=Session.LCID%>

إذا معرفات لغة مختلفة ولا يمكنك تغييره على الملقم الجديد ثم يمكنك إضافة خط إلى شبه Session_OnStart في Global.asa للتطبيق الذي يعين معرف الإعدادات المحلية الصحيح لSession.LCID.

استخدام صفحة ASP بالمحتوى:-

Response.Write GetLocale

قد يكون مفيدًا، وسيُظهر لك اللغة المحلية التي يعتقد VBScript أنها تستخدمها.

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

ومع ذلك، إذا حدث أن قام المستخدم بتسجيل الدخول بشكل تفاعلي إلى الخادم، فسيكون لديه ملف تعريف وبالتالي يتم استخدام إعداداته.ومن ثم فقد رأيت مواقف يبدو فيها أن الخادم يواجه مشكلات متقطعة في الإعدادات الإقليمية.

لا أستطيع أن أتذكر إذا كنت قد رأيت هذا على IIS6، لقد رأيته بالتأكيد على IIS5.

إذا قمت بتشغيل تطبيق ASP الخاص بك تحت حساب مختلف (لا IUSR_Guest) سجل دخول هذا الحساب، تعيين تاريخ / تنسيق الوقت إلى ما تريد، وإعادة تشغيل IIS.

والذهاب إلى لوحة التحكم -> الخيارات الإقليمية وخيارات اللغة، تعيين كافة الخيارات التي تحتاج إليها، ثم ضمن علامة التبويب إعدادات حدد "المتقدمة" للبرامج بدون Unicode وتحقق "تطبيق كافة الإعدادات إلى الحساب الجاري وإلى ملف تعريف المستخدم الافتراضي. ". اضغط موافق والخادم إعادة تشغيل.

في ويندوز سيرفر 2008 الإداريين من علامة التبويب "الإداري" إضافية. هناك ضغط 'نسخ إلى حسابات المحجوزة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top