dans la console quand j'essaie de produire des personnages russes, cela me donne ????????????????
Qui sait pourquoi? p>
J'ai essayé d'écrire dans le fichier - Dans ce cas, la même situation. p>
par exemple p> intérieur est - ??????????????? ????????????? / p> ou p> dans un bloc-notes supplémentaire ne me permet pas d'enregistrer le fichier avec des lettres russes. Je donne ceci: p> Ce fichier contient des caractères dans
Format Unicode qui sera perdu si
Vous enregistrez ce fichier en tant qu'ANSI codé
fichier texte. Garder l'unicode
informations, cliquez sur Annuler ci-dessous et
Ensuite, sélectionnez l'une des options Unicode
de la liste déroulante de codage.
Continuer? P>
blockQuote> Comment ajuster mon système, donc je n'aurai pas ces problèmes. p> p>
5 Réponses :
Quelle console utilisez-vous? Les chances sont, votre console ne supporte pas cette langue. Assurez-vous que votre console prend en charge Unicode (et que votre application envoie des chaînes Unicode). P>
Pour résoudre la mise à jour de votre question concernant les problèmes avec Windows 'Notepad: cliquez sur Fichier-> Enregistrer sous, puis choisissez "Unicode" dans la liste déroulante "Encodage". P>
Quelles consoles avez-vous essayé? Quel système d'exploitation utilisez-vous? Pouvez-vous générer des caractères russes avec succès à votre console à l'aide d'un langage de programmation autre que Python?
Je n'ai pas remarqué quand c'est arrivé. Mais cela se passe, après avoir installé la même extension comme MySQL et ODBC. Peut-il être hors de cela?
Si le comportement a changé après avoir installé une extension, ininstallez l'extension et voyez si l'ancien comportement revient. Il ne serait pas inutile d'une extension d'introduire des problèmes inattendus.
@ user375373: Ce serait vraiment utile si vous avez répondu à la question de BTA.
Vous devez définir le codage de fichier s'il contient des caractères non-ASCII. P>
Ça ne aide pas! Et même quand je suis en train de sauver du texte russe dans le bloc-notes, cela me dit que je ne peux pas économiser. Parce que je perds mes données.
Suivez les conseils donnés par le Bloc-notes et choisissez l'un des codages Unicode.
S'il vous plaît, il suffit de ne pas coder dans le Bloc-notes. C'est vraiment, vraiment mauvaise idée. Essayez Vim ou Emacs. Si ces deux sont trop effrayants - essayez le bloc-notes ++ ou Scite ou quelque chose de plus sain d'esprit que le bloc-notes.
@petraszd: Nous utilisons uniquement le Bloc-notes ici en raison de son support Unicode.
Vous tapez également dans la console ou ne saisez-vous que les résultats dans la console? Ceci semble un problème Pep-0263 en tant que Petraszd dit.
print p.decode('your-system-encoding')
Quand je tape tout va bien. Quand je mets ceci # - - codage: UTF-8 - i> - Je reçois l'erreur: SyntaxError: caractère non ASCII '\ xff' dans le fichier
Essayez d'ouvrir le fichier à l'aide de codecs, vous devez
writefile = codecs.open('write.txt', 'w', 'utf-8')
Lorsque j'utilise cela cela pour écrire des caractères russes dans un fichier, il fournit Gibberish
Voici un exemple de châssis, veuillez lire les commentaires:
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
# The above encoding declaration is required and the file must be saved as UTF-8
from __future__ import with_statement # Not required in Python 2.6 any more
import codecs
p = u"абвгдежзийкл" # note the 'u' prefix
print p # probably won't work on Windows due to a complex issue
with codecs.open("tets.txt", "w", "utf-16") as stream: # or utf-8
stream.write(p + u"\n")
# Now you should have a file called "tets.txt" that can be opened with Notepad or any other editor
Je reçois l'erreur: SyntaxError: caractère non ASCII '\ xff' dans le fichier "Mon fichier Python", mais aucun encodage déclaré
J'ai chuté le codage, c'est à quoi sert la deuxième ligne. Et il n'y a pas de caractère '\ xff' (qui est ÿ code>) dans le fichier. Êtes-vous sûr que vous avez tout fait correctement, et que tous les personnages apparaissent correctement dans le bloc-notes?
Le titre de cette question est plutôt mal choisi!
Est-ce vraiment
? Code> ou plutôt� code>?@Gumbo: le
? Code> est utilisé lorsque la cible n'est pas en mesure de Store i> le caractère donné car il est en dehors de la plage de caractères. Par exemple. Bases de données et sortie (fichier / stdout / etc.) écrivains. Le� code> est utilisé lorsque la cible est capable de Afficher i> le caractère donné, mais ne faites pas parce que c'est en dehors de la plage de la chartte, elle est instructuelle d'utiliser. Par exemple. WebBrowersers. Tout avec tout, il est logique que? Code> est utilisé ici.@Carl - Et j'allais suggérer que l'affiche ne les rends pas tragiques avec des sous-courants de couvée et mystérieux.
@Balusc: cela devrait plutôt lancer une exception. @ user375373: Notepad vous donne les astuces correctes (à la fois pour l'utilisation de bloc-notes et pour la programmation): choisissez un codage unicode tel que UTF-16 (également appelé "Unicode" par Microsoft) ou UTF-8.
@Philipp: Je suis tout à fait d'accord pour dire que, malheureusement, la vérité est différente de nombreux endroits dans de nombreuses langues. Ces caractères "inconnus" seront simplement détruits ou remplacés. La cible ne sait pas "mieux".
Il semble que cet utilisateur-Somenumbers ne sait pas comment accepter les réponses ou l'ignore.
Si l'une de ces réponses vous a aidé à résoudre votre problème, veuillez cliquer sur la coche à côté de celui-ci afin que l'auteur reçoit un crédit approprié.