أواجه مشكلة في إعادة تسمية مستخدم إلى اسم المستخدم القديم (لقد قمت بالاستيراد من phpBB واضطررت إلى إعادة تسمية بعض المستخدمين، على سبيل المثال Möp إلى Moep). أحصل على خطأ 500 عند محاولة إعادة تسمية المستخدم، وأيضًا عند إعادة التحميل لا يزال اسم المستخدم بدون علامة التشكيل. أي فكرة؟ تم تمكين إعدادات اليونيكود، وتم السماح بعلامات التشكيل، وتم تمكين external system avatars enabled أيضًا.
ستحتاج إلى النظر في السجلات ومعرفة ما هو موجود. قد تجدها في /logs أو قد تحتاج إلى النظر في /var/discourse/shared/standalone/log/rails/production.log (أعتقد أنها log وليست logs).
أوه شكراً لك. لم يكن لدي أي فكرة عما إذا كانت هناك ملفات سجل وأين توجد. الآن أعرف. ![]()
وجدت هذا:
بدأ PUT "/users/moep/preferences/username" لـ xxxx:c5:9f0d:4c00:xxxx:e179:xxxx:xxxx في 2022-11-23 15:53:52 +0000
معالجة بواسطة UsersController#username كـ */*
المعلمات: {"new_username"=>"Möp", "username"=>"moep"}
اكتمل خطأ الخادم الداخلي 500 في 338 مللي ثانية (ActiveRecord: 0.0 مللي ثانية | التخصيصات: 137204)
Encoding::CompatibilityError (ترميزات أحرف غير متوافقة: ASCII-8BIT و UTF-8)
app/models/user.rb:1806:in `username_validator'
app/services/username_changer.rb:35:in `change'
app/services/username_changer.rb:13:in `change'
app/controllers/users_controller.rb:202:in `username'
هناك المزيد، لكنني اعتقدت أنه قد يكون كافياً. إذا لم يكن كذلك، يمكنني تقديم المزيد.
بالمناسبة، جربت أكثر من اسم مستخدم واحد وواجهت مشاكل مماثلة.
@pfaffman هل يمكنك رؤية السبب في سجلاتي لماذا أحصل على خطأ 500؟ ![]()
لم تعجبه الأحرف الموجودة في اسم المستخدم. لا أعرف لماذا.
لقد اختبرت للتو إعادة تسمية مستخدم من “moep” إلى “Möp” وقد نجحت.
- ما هو إصدار Discourse الذي تستخدمه؟
- هل هذا تثبيت قياسي؟
- هل هناك نوع من الوكيل العكسي أمام Discourse الخاص بك؟
- ما هو المتصفح الذي تستخدمه؟
- ما هي قيمة الإعداد
allowed_unicode_username_characters؟ - هل تعمل إعادة التسمية في وحدة تحكم rails؟
./launcher enter app rails cuser = User.find_by_username("moep") new_username = "Möp" UsernameChanger.change(user, new_username, Discourse.system_user)
الأحدث. والذي يجب أن يكون 2.9.0.beta12 في الوقت الحالي.
نعم. لقد قمت فقط بإعادة تسمية اسم الحاوية حيث أخطط لتشغيل أكثر من مثيل واحد لـ Discourse. ولكن في الوقت الحالي، هناك واحد فقط قيد التشغيل.
Apache 2.4
Chrome، Brave.
[äöüßÄÖÜẞ]
لا تعمل أيضًا:
=> "Wägi"
[6] pry(main)> UsernameChanger.change(user, new_username, Discourse.system_user)
Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8
from /var/www/discourse/plugins/discourse-migratepassword/plugin.rb:78:in `+'
هنا حاولت “Waegi” إلى “Wägi”.
ما لاحظته: أستخدم إصدار قالب جديد للحاوية يحتوي على المعلومات التالية:
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
DISCOURSE_DEFAULT_LOCALE: de
في القالب القديم (2019 تقريبًا) كان هناك فقط:
env:
LANG: en_US.UTF-8
DISCOURSE_DEFAULT_LOCALE: de
هل قد يكون لهذا علاقة بالمشكلة؟ وهل هذه هي الإعدادات الصحيحة لتثبيت Discourse باللغة الألمانية كلغة رئيسية؟
أوه، ولاحظت الآن أن الخطأ يتم طرحه بواسطة discourse-migratepassword - وهو السبب الذي جعلني أعيد تسمية المستخدمين قبل استيراد كل شيء من phpBB إلى Discourse.
هل سيكون من المفيد تعطيل discourse-migratepassword، وإعادة تسمية المستخدمين، ثم تمكينه مرة أخرى؟ ما هو الآخر الذي يتم التعامل معه بواسطة discourse-migratepassword بحيث يحتاج إلى أن يكون نشطًا بعد الاستيراد من phpBB؟
يبدو أن المكون الإضافي discourse-migratepassword غير متوافق مع أسماء المستخدمين التي تستخدم ترميز يونيكود.
مرحباً @michaeld
نعم، تعطيل المكون الإضافي يجب أن يحل هذه المشكلة لك.
إنه ليس مفيدًا أثناء الاستيراد، فقط بعد الاستيراد لأنه يسمح لمستخدميك بتسجيل الدخول باستخدام كلمات المرور القديمة الخاصة بهم.
حسنًا شكرًا لك. لذا سأقوم بتعطيله، وإعادة تسمية المستخدمين ثم تمكينه مرة أخرى على الفور. شكرًا مرة أخرى! ![]()
لقد نجح تعطيل المستخدمين ثم إعادة تسميتهم. شكراً لك مرة أخرى. ![]()
كنت أتساءل: هل يمكن للمستخدمين الذين لديهم علامات ترقيم الآن تسجيل الدخول بكلمة المرور القديمة الخاصة بهم phhBB نظرًا لأن discourse-migratepassword يبدو أن لديه مشكلة الترميز الموحد هذه؟
أنا متأكد من أن المرة الأولى التي يسجلون فيها الدخول يتم حفظ كلمة المرور الخاصة بهم ككلمة مرور Discourse، لذلك لا تحتاج إليها بعد الآن. يبدو أن أي شخص سيسجل الدخول بكلمة المرور المستوردة قد فعل ذلك بالفعل.
لا يمكنني إعادة إنتاج هذه المشكلة. نفس الإعدادات لليونيكود والأحرف المسموح بها، لقد أنشأت مستخدمًا بنفس اسم المستخدم وأعدت تسميته إلى Möp. يجب أن يكون هناك شيء آخر - لا أعرف عنه - ليظهر هذا؟
غريب. واجهت هذه المشكلة مع كل اسم مستخدم جربته. كأحرف يونيكود، كان لدي فقط أحرف العلة الألمانية مثل äöü. مثال آخر كان: Waegi إلى Wägi.
ظهرت هذه المشكلة لأول مرة في برنامج نصي لاستيراد phpBB3 إلى Discourse، وهو ما دفعني إلى إعادة تسمية جميع المستخدمين الذين لديهم أحرف علة في phpBB ثم إعادة تشغيل برنامج الاستيراد النصي. بالتأكيد أردت أن يكون المستخدمون في Discourse مرة أخرى بأسمائهم الأصلية.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.