【发布时间】:2014-03-08 19:54:34
【问题描述】:
我想将一个 latin1 数据转换为 utf-8。
models.py
class old_product(models.Model):
product_description = models.CharField(max_length=200) # This field is latin1
class product(models.Model):
name = models.CharField(max_length=200) # This field is utf-8
view.py
def index(request):
old_products = old_product.objects.all()
for product in old_products:
product_id = product.product_id
names = product.product_description
name = names.decode('latin1').encode('utf-8')
c = product_name(id = product_id,name = name)
c.save()
return render_to_response('products/all_products.html',{},context_instance=RequestContext(request))
在这里,我将所有以前的数据从old_product 表移动到另一个表product。首先,当我将数据存储在latin1 中的old_product 表中时,现在我想将其转换为utf-8 并希望存储在product 表中。这就是数据存储在old_product 表中的方式 - STONE ØØ¬Ø± (ctn80pcs)
当我尝试这个name = names.decode('latin1') 和这个name = names.decode('latin1').encode('utf-8') 时,
我遇到了这个错误'ascii' codec can't encode characters in position 7-12: ordinal not in range(128)。我该如何转换?
【问题讨论】:
标签: django python-2.7 mysql-python