Django admin界面 Incorrect string value错误的解决
在django admin界面添加汉字内容时发现如下错误:
Warning at / admin / flatpages / flatpage / add / Incorrect string value: '\xE5\x93\x88\xE5\x93\x88...' for column 'content' at row 1 Request Method: POST Request URL: http: / / 127.0 . 0.1 : 8000 / admin / flatpages / flatpage / add / Django Version: 1.2 . 1 Exception Type : Warning Exception Value: Incorrect string value: '\xE5\x93\x88\xE5\x93\x88...' for column 'content' at row 1 Exception Location: / usr / lib / pymodules / python2. 6 / MySQLdb / cursors.py in _warning_check, line 82 Python Executable: / usr / bin / python Python Version: 2.6 . 6 |
之前添加英文没有任何问题,查看mysql数据库编码发现是 latin1_swedish_ci。之前是利用phpmyadmin “
解决办法为:在第一次syncdb操作之前,设置所创建数据库编码为 utf8_genenal_ci或utf8_unicode(不知道这二者在处理中文上有什么区别?)。
在创建数据库时可使用如下命令:
GBK:CREATE DATABASE tinyCMS DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
UTF8: CREATE DATABASE tinyCMS DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
已创建时(但对已存在的表不影响):
ALTER DATABASE tinyCMS CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,但是制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。
我们应该遵循的标准是:数据库,表,字段和页面或文本的编码要统一起来。
转载请注明出处:http://www.cnblogs.com/moinmoin/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步