Αναγν. άρθρου: 895262 - Τελευταία αναθεώρηση: Πέμπτη, 23 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0

ΕΝΗΜΕΡΩΣΗ: Η κεφαλίδα απόκρισης θα πάντα να κωδικοποιηθεί ως UTF-8 όταν χρησιμοποιείτε τη μέθοδο Response.addheader στο ASP.NET

Συμβουλή συστήματοςΑυτό το άρθρο ισχύει για διαφορετικό λειτουργικό σύστημα από αυτό που χρησιμοποιείτε. Το περιεχόμενο του άρθρου που ενδέχεται να μην σας αφορά έχει απενεργοποιηθεί.
Ανάπτυξη όλων | Σύμπτυξη όλων

Συμπτώματα

Στο Microsoft ASP.NET, όταν χρησιμοποιείτε τοResponse.addheaderμέθοδος για να προσθέσετε μια κεφαλίδα απόκρισης, η κεφαλίδα απόκρισης πάντα θα είναι κωδικοποιημένο ως UTF-8. Δεν μπορείτε να καθορίσετε έναν τύπο κωδικοποίησης. Για παράδειγμα, εάν έχετε το ακόλουθο παράδειγμα κώδικα σε μια σελίδα ASP.NET που περιέχει ορισμένες κορεατικές χαρακτήρες στο όνομα αρχείου και προσπαθήστε να περιηγηθείτε στη σελίδα χρησιμοποιώντας τον Microsoft Internet Explorer σε μια κορεατική έκδοση των Microsoft Windows, τα κορεατικά χαρακτήρες που υπάρχουν στο όνομα του αρχείου θα εμφανιστεί ως σκουπίδια στο στοΛήψη αρχείουπαράθυρο διαλόγου.
private void Page_Load(object sender, System.EventArgs e)

                {
                        string filename="<Some Korean Characters>.txt";

                        Response.ContentType = "text/plain";
                        Response.Clear(); 
                        byte[] buffer={65}; 
                        Response.AddHeader("Content-Disposition","attachment;filename="+filename); 
                        Response.BinaryWrite(buffer);
                        Response.Flush();
                        Response.End();
            }

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή η κεφαλίδα απόκρισης που προστίθεται από τοResponse.addheaderη μέθοδος πάντα κωδικοποιούνται ως UTF-8 στο ASP.NET.

Προτεινόμενη αντιμετώπιση

Είναι διαθέσιμη μια υποστηριζόμενη επείγουσα επιδιόρθωση από τη Microsoft, αλλά προορίζεται μόνο για τη διόρθωση του ζητήματος που περιγράφεται σε αυτό το άρθρο. Εφαρμόστε τη μόνο σε συστήματα στα οποία εμφανίζεται αυτό το συγκεκριμένο ζήτημα. Αυτή η επείγουσα επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, σας συνιστούμε να περιμένετε έως το επόμενο service pack του Microsoft .NET Framework 1.1 που περιέχει αυτήν την επείγουσα επιδιόρθωση.

Για την άμεση επίλυση αυτού του ζητήματος, επικοινωνήστε με τις Υπηρεσίες Τεχνικής Υποστήριξης της Microsoft (Microsoft Product Support Services) για να αποκτήσετε την επείγουσα επιδιόρθωση. Για μια πλήρη λίστα με αριθμούς τηλεφώνου των Υπηρεσιών Τεχνικής Υποστήριξης της Microsoft (Microsoft Product Support Services), καθώς και για πληροφορίες που αφορούν το κόστος υποστήριξης, μεταβείτε στην παρακάτω τοποθεσία της Microsoft στο Web:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
ΣΗΜΕΙΩΣΗΣε ειδικές περιπτώσεις, εάν ένας μηχανικός υποστήριξης της Microsoft κρίνει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημα, ενδέχεται να μην ισχύσουν οι χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης. Για πρόσθετες ερωτήσεις υποστήριξης και για θέματα που δεν αφορούν τη συγκεκριμένη ενημερωμένη έκδοση, θα ισχύσουν οι συνηθισμένες χρεώσεις υποστήριξης.

ΠΡΟΫΠΟΘΕΣΕΙΣ

Το Microsoft .NET Framework 1.1 Service Pack 1 (SP1) του

Απαιτήσεις επανεκκίνησης

Δεν χρειάζεται να κάνετε επανεκκίνηση του υπολογιστή μετά την εφαρμογή αυτής της άμεσης επιδιόρθωσης.

Πληροφορίες αντικατάστασης άμεσης επιδιόρθωσης

Αυτή η επείγουσα επιδιόρθωση δεν αντικαθιστά άλλες επείγουσες επιδιορθώσεις.

Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, αυτές μετατρέπονται στην τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε τηνΖώνη ώραςκαρτέλα στο εργαλείο "ημερομηνία και ώρα" στον πίνακα ελέγχου.
   Date         Time   Version        Size       File name
   --------------------------------------------------------------
   14-Apr-2005  02:08  1.1.4322.2315    258,048  Aspnet_isapi.dll  
   14-Apr-2005  02:08  1.1.4322.2315     32,768  Aspnet_wp.exe    
   14-Apr-2005  01:15  1.1.4322.2315  1,261,568  System.web.dll   

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα θέμα το οποίο παρουσιάζεται στα προϊόντα της που αναφέρονται στην ενότητα "Ισχύει για".

Περισσότερες πληροφορίες

Αφού εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση, μια πρόσθετηresponseHeaderEncodingτο χαρακτηριστικό είναι διαθέσιμο στο στο<globalization></globalization>το στοιχείο στο αρχείο Web.config. Αυτή η νέα ιδιότητα σας επιτρέπει να καθορίσετε την κωδικοποίηση κεφαλίδα απόκρισης. Για να καθορίσετε την κεφαλίδα απόκρισης κωδικοποίησης ως κορεατικά, προσθέστε το χαρακτηριστικό χρησιμοποιώντας το ακόλουθο παράδειγμα κώδικα:
<globalization 
           responseHeaderEncoding="korean"
   />
Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
824684  (http://support.microsoft.com/kb/824684/ ) Περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερώσεων λογισμικού της Microsoft

Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft ASP.NET 1.1
Λέξεις-κλειδιά: 
kbqfe kbhotfixserver kbfix kbbug kbprb kbmt KB895262 KbMtel
Μηχανικά μεταφρασμένοΜηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:895262  (http://support.microsoft.com/kb/895262/en-us/ )