Τι θα μπορούσε να πάει στραβά αν μπορώ να μετατρέψετε ANSI κωδικοποιημένα αρχεία σε UTF-8;

ψήφοι
0

Έχω μια υπάρχουσα ιστοσελίδα ASP.NET 2.0, αποθηκεύονται στο Ίδρυμα Team Server 2005. Μερικές από τις σελίδες / ελέγχους κωδικοποιούνται ως ANSI (σύμφωνα με το Notepad ++) και η επικεφαλίδα Content-Type έχει οριστεί σε:

<meta http-equiv=Content-Type content=text/html; charset=windows-1252/>

Θα ήθελα να αλλάξει όλες τις σελίδες σε UTF-8, και ως εκ τούτου η επικεφαλίδα Content-Type με:

<meta http-equiv=Content-Type content=text/html; charset=utf-8/>

Εκτός από την αλλαγή της μετα στοιχείο, υποθέτω θα πρέπει, επίσης, να αλλάξετε την κωδικοποίηση όλων των αρχείων. Μπορώ να το κάνω αυτό με το Notepad ++ όμως αν κάποιος έχει κάποια πιο γρήγορα τις μεθόδους, να τις αναφέρω.

Τι είδους προβλήματα μπορεί να αντιμετωπίσω, όταν πρόκειται για συγχώνευση / σύγκριση με TFS;

Δημοσιεύθηκε 27/11/2008 στις 14:17
πηγή χρήστη
Σε άλλες γλώσσες...                            


5 απαντήσεις

ψήφοι
2

Θα ήθελα να γράψω ένα σενάριο Python

for fn in os.listdir(srcdir):
    data = open(srcdir+"\\"+fn, "rb").read().decode("windows-1252")
    data = data.replace("charset=windows-1252", "charset=utf-8")
    open(srcdir+"\\"+fn, "wb").write(data.encode("utf-8"))

Η ενημέρωση του charset θεωρεί ότι η συγκεκριμένη σειρά δεν θα συμβεί αλλού? μπορείτε να την κάνετε πιο ισχυρή από τον έλεγχο για μεγαλύτερο string, ελέγξτε αν υπάρχει στην πραγματικότητα το παλιό κείμενο στο αρχείο, κάνοντας σωστή parsing XML, κ.λπ.

Ίσως χρειαστεί να τεθεί ένα UTF-8 υπογραφή μπροστά από τα UTF-8-κωδικοποιημένα δεδομένα? μπορείτε να βρείτε ένα στο codecs.BOM_UTF8

Δεν ξέρω τι συνέπειες έχει αυτή η αλλαγή για την TFS.

Απαντήθηκε 27/11/2008 στις 14:24
πηγή χρήστη

ψήφοι
2

Εξαρτάται από το πόσο μεγάλο μέρος του κειμένου σε βάση κώδικα σας χρησιμοποιεί χαρακτήρες εκτός της περιοχής ASCII των 0..127.

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

Απαντήθηκε 27/11/2008 στις 14:23
πηγή χρήστη

ψήφοι
0

Αυτό δεν είναι απαραίτητα αλήθεια. Δεν ξέρω για ASP.net, αλλά κάνουμε ό, php κωδικοποίησης μας εδώ στο Ansi και την εξυπηρέτηση των σελίδων σε UTF8. Όλες οι πληροφορίες της βάσης δεδομένων μας αποθηκεύονται σε UTF8, καθώς και.

Απαντήθηκε 27/11/2008 στις 14:49
πηγή χρήστη

ψήφοι
0

Διαλέξτε ένα αρχείο που έχει ένα χαρακτήρα πάνω από το εύρος 0-127 ASCII. Ανοίξτε ότι με το σημειωματάριο, επιλέξτε Αποθήκευση ως και επιλέξτε UTF-8 για την κωδικοποίηση. Στη συνέχεια, δείτε αν ο χαρακτήρας μετατρέπεται με επιτυχία.

Για να αυτοματοποιήσει τη διαδικασία, θα μπορούσατε να γράψετε μια εφαρμογή που μετατρέπει όλα τα αρχεία από ASCII σε UTF-8, με τη χρήση 1252 ως σελίδα κώδικα. Αν δεν έχετε χαρακτήρες πάνω από 127, δεν χρειάζεται να ανησυχείτε για όλα αυτά.

Απαντήθηκε 27/11/2008 στις 14:37
πηγή χρήστη

ψήφοι
0

Κάτι χρήσιμο Μόλις ανακάλυψα είναι ότι μπορείτε να κάνετε δεξί κλικ σε ένα αρχείο στον Explorer Πηγή Ελέγχου, στη συνέχεια, επιλέξτε Ιδιότητες. Στη συνέχεια μπορείτε να δείτε / τροποποιήσει την κωδικοποίηση όσο αφορά την TFS.

Απαντήθηκε 27/11/2008 στις 14:29
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more