لقد قمت بتفعيل (بعض) أحرف Unicode في أسماء المستخدمين، وeverything يعمل كما هو متوقع.
عندما حاولت استخدام أحرف Unicode في رابط التصنيف (slug)، تم تحويله إلى ترميز النسبة المئوية وسُمح لي بحفظ التغييرات، لكن لم أعد قادرًا على الوصول إلى قائمة مواضيع التصنيف لأنني كنت أحصل على ERR_TOO_MANY_REDIRECTS.
تم بذل بعض الجهد في هذا المجال سابقًا، لكنني لا أعتقد أن المشكلة التي واجهتها قد تم معالجتها. ما أظن أنه حدث هو أنك قمت بضبط طريقة إنشاء السلاجل على ‘ascii’ وقمت بإدخال سلاجل تصنيف يحتوي على أحرف غير ascii مباشرة. يمكنني تكرار هذه المشكلة على موقعي مع ضبط طريقة إنشاء السلاجل على ‘ascii’ وإدخال النص التالي (yetersizliği) مباشرة في حقل سلاجل التصنيف:
إذا لم أدخل أي شيء في حقل سلاجل التصنيف، فسيقوم Discourse بإنشاء السلاجل بشكل صحيح عند ضبط طريقة إنشاء السلاجل على ‘ascii’.
عند ضبط طريقة إنشاء السلاجل على ‘encoded’، يتعامل Discourse مع إنشاء السلاجل بشكل صحيح سواء تركت إدخال سلاجل التصنيف فارغًا أو قمت بإدخال السلاجل غير ascii مباشرة في الإدخال.
يبدو إذن أن المشكلة تكمن في أنه عند ضبط طريقة إنشاء السلاجل على ‘ascii’، لا يزال من الممكن إدخال سلاجل غير ascii في حقل سلاجل التصنيف. هذا يسبب مشكلة إعادة توجيه لا يمكن إصلاحها إلا من خلال وحدة تحكم Rails.
هذا بالضبط ما فعلته، كنت أقوم بتحرير فئة تم إنشاؤها مسبقًا — كل من اسمها واسمها المستعار. لم أكن أعرف عن إعداد طريقة توليد الاسم المستعار، وعلى الرغم من أنني اكتشفت لاحقًا أنه مضبوط على ASCII، إلا أن الاسم المستعار تم ترميزه على أي حال.
قد يكون هذا النوع من الإكراه منطقيًا، ولكن فقط إذا كان الاسم المستعار المشفر يمكن التعرف عليه لاحقًا، مع تجاهل الإعداد بطريقة مشابهة.