Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 36918|Απάντηση: 2

[.NET Πυρήνας] Κονσόλα .NET Core Κινεζικοί χαρακτήρες αλλοιωμένοι χαρακτήρες

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 17/5/2017 2:44:09 μ.μ. | | | |



Το πρόγραμμα κονσόλας .NET Core είναι πολύ απλό, δηλαδή ζητά από τον χρήστη να εισαγάγει μια διεύθυνση URL και, στη συνέχεια, να εισαγάγει τη διεύθυνση URL που εισήγαγε ο χρήστης, όλοι θα καταλάβουν με μια ματιά, αλλά οι κινεζικοί χαρακτήρες είναι αλλοιωμένοι,

Αιτίες σφάλματος:

Το "GB2312" δεν είναι ένα υποστηριζόμενο όνομα κωδικοποίησης. Για πληροφορίες σχετικά με τον ορισμό μιας προσαρμοσμένης κωδικοποίησης, ανατρέξτε στην τεκμηρίωση για τη μέθοδο Encoding.RegisterProvider.
Όνομα παραμέτρου: όνομα

Η παραπάνω γενική έννοια είναι ότι η κωδικοποίηση δεν υποστηρίζει κωδικοποίηση GB2312 και πρέπει να χρησιμοποιήσετε τη μέθοδο Encoding.RegisterProvider για να καταχωρήσετε τον πάροχο.



Πώς να το λύσετε;

Λύση 1:

Ορίστε την έξοδο κειμένου των χαρακτήρων που εμφανίζονται από την κονσόλα Ρυθμίσεις χρησιμοποιώντας την κωδικοποίηση θα εφαρμοστεί στην αντίστοιχη κονσόλα. Καθορίζονται οι τοπικές ρυθμίσεις συστήματος που χρησιμοποιούνται από την προεπιλεγμένη κονσόλα κωδικοσελίδων.



Λύση 2:

1: Χρησιμοποιήστε τη μέθοδο Encoding.RegisterProvider για να καταχωρήσετε τον πάροχο

2: CodePagesEncodingProvider στο πακέτο System.Text.Encoding.CodePages

3: Το nuget εκτελεί την εντολή: Install-Package System.Text.Encoding.CodePages

4: Προσθήκη κωδικού:










Προηγούμενος:Εκμάθηση Centos Installation .NET Core Environment
Επόμενος:Εκτελέστε το πρόγραμμα κονσόλας πυρήνα .net σε Linux/Centos [πηγαίος κώδικας]
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 17/5/2017 2:46:57 μ.μ. |

Θα ήθελα να μοιραστώ τη γνώμη μου, ο λόγος για τους αλλοιωμένους χαρακτήρες στην κονσόλα είναι επειδή η προεπιλεγμένη σελίδα κωδικοποίησης της κινεζικής γραμμής εντολών των Windows είναι GB2312 και αν θέλετε να εξάγετε κινέζικα, χρειάζεται μόνο να τροποποιήσετε τη σελίδα κωδικοποίησης της κονσόλας σε Unicode.
Πληκτρολογήστε chcp 65001 στο cmd και εκτελέστε το πρόγραμμα ή προσθέστε μια γραμμή στο πρόγραμμα
Console.OutputEncoding = Κωδικοποίηση.Unicode;
Ο λόγος για την αλλοιωμένη ιστοσελίδα είναι επίσης επειδή το πρόγραμμα δεν καθορίζει την κωδικοποίηση και χρησιμοποιεί Unicode από προεπιλογή, ενώ το πρόγραμμα περιήγησης στο κινεζικό περιβάλλον χρησιμοποιεί gbk από προεπιλογή. Μπορείτε να πείτε στο πρόγραμμα περιήγησης να χρησιμοποιήσει το utf8 ορίζοντας το ContentType.
Σε αναμονή πλαισίου. Response.WriteAsync("Γεια σας, καλώς ήρθατε στο Πεκίνο"); Προηγούνται:
πλαίσιο. Response.ContentType = "κείμενο/απλό; σύνολο χαρακτήρων=utf-8";
Ωστόσο, εάν εμφανίζετε Κινεζικά, δεν χρειάζεται να ανατρέξετε στο System.Text.Encoding.CodePages χωρίς ειδικές απαιτήσεις
Δημοσιεύτηκε στις 12/11/2022 1:40:04 μ.μ. |
Αποθήκευση για μελλοντική χρήση
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com