سؤال

لدي حقل إدخال HTML مرتبط بزر بأزرار مع وظيفة OnClick في JavaScript يمكنه تمرير قيمة TextField إلى TextField لصفحة أخرى. أثناء تمرير القيم من صفحة إلى أخرى عبر طلب URL ل JSP، اكتشفت أن تشفير القيم مع encodeURI() يحصل على:

  • £ -> Â £ (2 علامات !!)
  • Ö -> ¶ (2 علامات !!)

عندما أستخدم JAVScript escape() أحصل على الترميزات الصحيحة، لكن لسوء الحظ سوف تختفي علامة +. هل هناك حل أفضل أن يكون لديك نوع من الترميز المستقر للشخصيات؟

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

المحلول

encodeURI() ترميز استخدام ترميز UTF-8، وهذا هو السبب في أنك ترى علاماتتي لترميز أحرف واحدة (إنها طبيعية).

إذا كنت ترغب في استخدام الهروب وما زالت تبقي + علامة، يمكنك استخدام ما يلي:

function mod_escape(value) {
  value = escape(value);
  return value.replace(/\+/g, '%2B');
}

نصائح أخرى

أعتقد أنه يجب عليك استخدام EcoDeuricomomponent () على كل مفتاح واحد = زوج القيمة و Cyrodeuricumponent في الصفحة الثانية لكل مفتاح = زوج القيمة.

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