西里尔字母转为问号| Django模板HTML元标记

问题描述 投票:0回答:1

因此,部署后,我在html元标记中的西里尔字母描述变成了问号。它在我的本地主机上工作正常。我通过管理面板将html元标记作为模型传递,因此除国际化目的外,我还可以在部署后轻松更改元标记。

  1. 使用MySQL
  2. Django 2.2.5 / Python 3.7.5

models.py

class Metatags(models.Model):

metatags_en = models.TextField(verbose_name='English Metatags', null=True)
metatags_ru = models.TextField(verbose_name='Russian Metatags', null=True)
metatags_uz = models.TextField(verbose_name='Uzbek Metatags', null=True)
metatags_oz = models.TextField(verbose_name="O'zbek Metatags", null=True)

metatags_en_blog = models.TextField(verbose_name='English Blog Metatags', null=True)
metatags_ru_blog = models.TextField(verbose_name='Russian Blog Metatags', null=True)
metatags_uz_blog = models.TextField(verbose_name='Uzbek Blog Metatags', null=True)
metatags_oz_blog = models.TextField(verbose_name="O'zbek Blog Metatags", null=True)

class Meta:
    verbose_name_plural = _("Metatags")

base.html]

{% for x in metatags %}
{% if current_lang == 'en' %}{{x.metatags_en|safe}}
{% elif current_lang == 'ru' %}{{x.metatags_ru|safe}}
{% elif current_lang == 'uz' %}{{x.metatags_uz|safe}}
{% elif current_lang == 'oz' %}{{x.metatags_oz|safe}}
{%else%}{{x.metatags_ru}}
{%endif%}
{%endfor%}

我在西里尔语中使用的metatags

    <!-- Primary Russian Meta Tags -->
<meta name="title" content="Лорем ипсум долор">
<meta name="description" content="Лорем ипсум долор сит амет, пер цлита поссит ех.">
<meta name="keywords" content="Лорем ипсум долор сит амет">
<meta name="robots" content="index, follow">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="revisit-after" content="1 days">
<meta name="author" content="Лорем">
django encoding utf-8 meta-tags
1个回答
0
投票

所以我修好了!

这里是答案:检查您数据库的编码...似乎可以吗?再次检查。。现在,您发现自己的某些表将其编码神奇地更改为latin_swedish_ci或其他?现在,请确保将您的数据库和所有表的编码更改为“ utf8mb4_unicode_520_ci”,并确保阅读this,这有助于我实现答案。此答案对那些也无法在其网站上使用表情符号的人很有用!

© www.soinside.com 2019 - 2024. All rights reserved.