返回:
CREATE DATABASE `app_jcguo` /*! 40100 DEFAULT CHARACTER SET utf8 */
以及
SHOW CREATE TABLE Hotels
我添加了default charset:
CREATE TABLE `Hotels` ( `id` int ( 11 ) NOT NULL , `name` varchar ( 40 ) DEFAULT NULL , `city` varchar ( 10 ) DEFAULT NULL , `address` text, `price` int ( 11 ) DEFAULT NULL , `total` int ( 11 ) DEFAULT NULL , `avail` int ( 11 ) DEFAULT NULL , `pic_b` varchar ( 40 ) DEFAULT NULL , `pic_s` varchar ( 40 ) DEFAULT NULL , PRIMARY KEY ( `id` ) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
属性也都是varchar类型并且设置为utf8_general_ci:
最后Google寻找解决方案,原来是MySQLdb.connect()还要设置一遍charset来指定cursor取数据库数据的格式:
@app.before_request def before_request () : g.db = MySQLdb.connect( MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DB, port=int(MYSQL_PORT), charset = ‘utf8‘ )
第一次用MySQL存中文,遇到此坑,遂记录在Blog上。SQLite所有操作默认都是UTF-8,TAT,老用python+SQLite就忽略了这个问题。
对了,文件头中别忘了添加编码注释:
# -*- coding:utf8 -*- #encoding = utf-8$(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘ ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i ‘).text(i)); }; $numbering.fadeIn(1700); }); });
SAE用flask+MySQL中文'utf8' codec can't decode byte 0xb7解决方法
标签:sae flask mysql mysql中文 utf8
查看更多关于SAE用flask+MySQL中文'utf8' codec can't de的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did119177