سؤال

وأنا باستخدام جيتي لاختبار خدمة ويب لدينا وأنا أحاول لحملها على الاستجابة مع أي محارف تحت رأس نوع المحتوى.

لا أحد يعرف كيفية القيام بذلك؟

ولقد حاولت اعتراض الاستجابة ووضع CharacterEncoding فارغة أو "" ولكن هذا يعطي الاستثناءات.

وأستخدمه جيتي 6.1.6.

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

المحلول

وحاولت نفسي الآن، ولكن يجب أن أعترف، يا رصيف هي واحدة قديمة جدا (4.2، ولكن يفعل كل شيء بالطريقة التي كنت في حاجة إليها). I مقارنته قط (4.1.29، قديمة جدا). راجعت نوع المحتوى مع التعليمات البرمجية التالية:

URL tomcatUrl = new URL("http://localhost:18080/ppi/jobperform/headertest")//tomcat;
URLConnection tconnect = tomcatUrl.openConnection();
System.out.println("tomcat: " + tconnect.getContentType());


URL jettyUrl = new URL("http://localhost:13818/ppi/jobperform/headertest")//jetty;
URLConnection jconnect = jettyUrl.openConnection();
System.out.println("jetty: " + jconnect.getContentType());

وكانت النتيجة كما يلي:

ورمز بريمج:

    response.setContentType("");
    response.getWriter().write("Return");

و=>
هر :؛ محارف =-ISO 8859-1
رصيف:

ورمز بريمج:

     response.setContentType("text/plain");
     response.getWriter().write("Return");

و=>
هر: نص / عادي؛ محارف = ISO-8859-1
رصيف: نص / عادي

ورمز بريمج:

response.setContentType("text/plain;charset=UTF-8");
response.getWriter().write("Return");

و=>
هر: نص / عادي؛ محارف = UTF-8
رصيف: نص / عادي؛ محارف = UTF-8

وهكذا يبدو وكأن رصيف السن يفعل بالضبط ما تريد، في حين هر يفعل ما حصل من رصيف أحدث.

نصائح أخرى

وأعتقد أن هذه ليست مسألة التي حاوية بريمج التي تستخدمها، ولكن ماذا تفعل مع الاستجابة داخل بريمج الخاص بك. إذا قمت بتعيين ترميز الطابع الخاص بك عن طريق الاتصال setContentType ServletResponse من (2.3) أو setCharacterEncoding (2.4، 2.5) مع null المعلمة أو "" ينبغي لها أن تعمل (لم يحاول نفسي). ولكن مما لا شك فيه أن استدعاء الأساليب المذكورة أعلاه <م> قبل داعيا getWriter، وتحديد خلاف ذلك الترميز <لأ href = "http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet /ServletResponse.html#getWriter () "يختلط =" نوفولو noreferrer "> لن يكون لها تأثير !

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

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