Ich mache einen Blog, indem ich Django übe, und ich habe das folgende Modell gemäß dem Lehrbuch definiert. Zu dieser Zeit verstand ich die Bedeutung von Unicode nicht und fasste sie zusammen.
class Blog(models.Model):
title = models.CharField(max_length=100, unique=True)
slug = models.SlugField(max_length=100, unique =True)
body = models.TextField()
posted = models.DateField(db_index=True,auto_now_add=True)
category = models.ForeignKey('blog.Category')
def __unicode__(self):
return '%s' % self.title
Es scheint, dass viele Leute es wissen, aber natürlich bin ich ein Anfänger und ich weiß es nicht. Ich bin ein selbsternannter "Guguru Kas", also googelte Kas wie Kas.
Unicode ist eines der Mittel, um Millionen von Sprachen auf einem Computer einheitlich zu handhaben.
Es gibt viele Möglichkeiten, wie Computer natürliche Sprache verstehen können, um ein Beispiel zu nennen:
Ich bin verwirrt.
Diese Methoden sind also wie Codierung, ein Gerät, das der Computer verstehen kann, aber es scheint, dass es von jeder Methode abhängt.
Wenn Sie also eine Zeichenfolge mit normalem Python verarbeiten, wird sie codiert. Da es jedoch viele Hintergründe von Lesern im Web gibt und jeder mit dem Computer in natürlicher Sprache mit unterschiedlichen Methoden interagiert, Es scheint, dass es abhängig von der Umgebung des Lesers durcheinander gebracht wird.
Angenommen, der Buchstabe A ist in ASCII codiert und auf einem Computer gespeichert. Lassen Sie uns dann darüber nachdenken, was passiert, wenn die Umgebung des Anrufers utf-8 ist.
Zeichen A → ASCII → Zeichencode= 123456
Es wird davon ausgegangen, dass es mit dem Code wie gespeichert wird.
Wenn die Umgebung des Anrufers utf-8 ist, ...
Zeichencode= 123456 → utf-8 → Buchstabe B.
Eine andere Zeichenfolge wird zurückgegeben. In der Zwischenzeit existiert nicht dieselbe Zeichenfolge und die gesamte Webseite wird zu ???????????????.
Ich kam zu diesem Punkt und dachte: "Soll ich alle Zeichencodes mit Unicode behandeln?", Aber es scheint, dass die Welt nicht so bequem ist. Der Himmel mag zwei Dinge geben, aber anscheinend ist die menschliche Welt immer ein Kompromiss.
Unicode gab die Fähigkeit auf, sich dem Menschen zu zeigen, um die Fähigkeit zu erlangen, ein einheitlicher Standard für Computer zu sein
Es sieht aus wie. Oder besser gesagt, wenn dies nicht der Fall ist, passt Tsuji nicht zusammen, also habe ich beschlossen, es vorläufig zu verstehen. (Der Titel ist also ein Memo.)
Kommen wir zurück zu Django.
In Django scheinen alle Informationen innerhalb des Frameworks in Unicode ausgetauscht zu werden. Unicode wird also ein wenig übersprungen, wenn es Menschen gezeigt wird. Um dies zu beheben, muss unicode anstelle des Modells geschrieben werden.
Der Artikel endet vorerst in einer Situation voller Eile, aber vorerst werde ich einen Absatz machen und weitermachen.
Ich weiß, was ich wissen muss (sollte)
Recommended Posts