色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

django mysql utf8mb4

呂致盈2年前12瀏覽0評論

最近在使用 Django 開發 Web 應用時,遇到了處理中文字符編碼的問題。在 MySQL 中存儲中文字符沒有問題,但是在 Django 中傳輸和展示時出現了亂碼。經過一番研究,發現使用 utf8mb4 編碼可以解決這個問題。

首先,我們需要在 MySQL 中設置字符編碼為 utf8mb4。可以通過命令行或者可視化工具進行設置:

ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

接著,在 Django 的 settings.py 中進行配置:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbname',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'charset': 'utf8mb4',
'sql_mode': 'traditional',
},
}
}

其中,需要注意兩個地方:

  • OPTIONS 中的 charset 必須設置為 utf8mb4。
  • 如果出現插入數據失敗的情況,可以嘗試將 sql_mode 設置為 traditional。

最后,在 Django 的 models.py 中對需要存儲中文字符的字段進行設置:

class MyModel(models.Model):
title = models.CharField(max_length=255, charset='utf8mb4')
content = models.TextField(charset='utf8mb4')

設置完畢后,就可以愉快地使用中文了。