I could test it on Shell, not sure why it's happening:

In[0]:

p=db(db.paciente.id>0).select()[1].as_dict()

Out[0]:
In[1]:

p

Out[1]:

*{'bairro': 'Gra\xc3\xa7a',* 'telefone_residencial': '', 'numero':
'492', 'mae': '', 'celular': '', 'pai': '', 'data': '2009-10-20',
'id': 2, 'telefone_comercial': '', 'nome': 'Tito \xc3\xa1 \xc3\xa9',
'emissor': 'SSP-BA', 'cidade': 'Salvador', 'nascimento': '2009-10-20',
'rg': '09376709', 'endereco': 'Rua 8', 'estado': 'Bahia', 'email':
'te...@teste.com'}

In[2]:

p=db(db.paciente.id>0).select().json()

Out[2]:
In[3]:

p

Out[3]:

'[{"telefone_comercial": null, "data": "2009-10-20", "bairro": "",
"nascimento": "2009-10-20", "emissor": "", "cidade": "", "nome": "Tito
Garrido Ogando", "telefone_residencial": null, "numero": "", "email":
null, "rg": "", "mae": "", "celular": null, "endereco": "", "pai": "",
"estado": "", "id": 1}, {"telefone_comercial": "", "data":
"2009-10-20", *"bairro": "Gra\\u00e7a"*, "nascimento": "2009-10-20",
"emissor": "SS", "cidade": "Salvador", "nome": "Tito \\u00e1 \\u00e9",
"telefone_residencial": "", "numero": "492", "email":
"te...@teste.com", "rg": "0709", "mae": "", "celular": "", "endereco":
"Rua 8", "pai": "", "estado": "Bahia", "id": 2},
{"telefone_comercial": null, "data": "2009-10-20", "bairro": "",
"nascimento": "2009-10-20", "emissor": "", "cidade": "", "nome":
"Garrido Tito", "telefone_residencial": null, "numero": "", "email":
null, "rg": "", "mae": "", "celular": null, "endereco": "", "pai": "",
"estado": "", "id": 3}, {"telefone_comercial": null, "data":
"2010-03-01", "bairro": "", "nascimento": null, "emissor": "",
"cidade": "", "nome": "", "telefone_residencial": null, "numero": "",
"email": null, "rg": "", "mae": "", "celular": null, "endereco": "",
"pai": "", "estado": "", "id": 4}, {"telefone_comercial": null,
"data": "2010-03-02", "bairro": "G", "nascimento": null, "emissor":
"SSP-BA", "cidade": "S", "nome": "Titoooo", "telefone_residencial":
null, "numero": "", "email": null, "rg": "09379", "mae": "",
"celular": null, "endereco": "R", "pai": "", "estado": "B", "id": 5}]'



I've increased the font of a UTF-8 entry (it's should be "Graça")



On Sun, Apr 11, 2010 at 11:47 AM, Tito Garrido <titogarr...@gmail.com>wrote:

> In fact looks like it loses the UTF-8 enconding when I print it or convert
> it to string...
>
> Is there a way to re encode it?
>
> Regards,
>
> tito
>
>
> On Sun, Apr 11, 2010 at 11:35 AM, mdipierro <mdipie...@cs.depaul.edu>wrote:
>
>> Are you tell me that
>>
>> items=db(db.mytable.id>0).select(limitby=(0,1))
>> print items[0].as_dict()
>> for item in items: print item.as_dict()
>>
>> produce two different outputs? It cannot be.
>>
>> Massimo
>>
>>
>> On Apr 11, 9:00 am, Tito Garrido <titogarr...@gmail.com> wrote:
>> > I can get it as UTF-8 if I execute:
>> > test=db(db.mytable.id>0).select()[0].as_dict()
>> >
>> > return test
>> >
>> > Not sure why it's not encoding on the former situation.
>> >
>> > How could I convert it manually?
>> >
>> > Thanks!
>> >
>> >
>> >
>> > On Sun, Apr 11, 2010 at 2:15 AM, mdipierro <mdipie...@cs.depaul.edu>
>> wrote:
>> > > I am not sure the issue is web2py here. It may be 1) the encoding in
>> > > the db should be utf8 and it is not, 2) the data has been stored
>> > > incorrecly. web2py does not convert data to UTF8 when extracting from
>> > > DB but when inserting only.
>> >
>> > > On Apr 10, 11:17 pm, Tito Garrido <titogarr...@gmail.com> wrote:
>> > > > Hi Folks,
>> >
>> > > > I'm not sure why but when I'm using as_dict function in a row
>> element
>> > > it's
>> > > > not returning UTF-8 characters an example:
>> >
>> > > > db.define_table('evento',
>> > > >     SQLField('dono','reference
>> auth_user',writable=False,readable=False),
>> > > >     SQLField('paciente', 'reference paciente', label='Paciente*'),
>> > > >     SQLField('titulo', 'string', length=255
>> > > ,default='',label='Assunto*'),
>> > > >     SQLField('data','date',default=request.now,readable=False),
>> > > >     SQLField('horario','time',readable=False),
>> > > >     SQLField('duracao','integer'),
>> > > >     SQLField('status', 'string', length=255 ,default='Marcado'),
>> > > >     SQLField('comentario', 'text',default=''),
>> > > >     SQLField('criado_por','reference
>> > > > auth_user',writable=False,readable=False))
>> >
>> > > > eventos=db((db.evento.data.day()==data.day)&
>> > > >         (db.evento.data.month()==data.month)&
>> > > >         (db.evento.data.year()==data.year)&
>> > > >         (db.evento.dono==dono_id)).select(orderby=db.evento.horario)
>> >
>> > > >      for evento in eventos:
>> > > >         *eventos_as_list.append(evento.as_dict())*
>> > > >         #some other operations
>> >
>> > > > return eventos_as_list
>> >
>> > > > Those elements inside this list "eventos_as_list" are not encoded as
>> > > utf-8,
>> > > > it shows something like:
>> > > > *{'status': 'Marcado', 'paciente': 1, 'id': 11, 'horario':
>> '08:00:00',
>> > > > 'criado_por': 2, 'dono': 2, 'titulo': 'Criado pelo modal', 'data':
>> > > > '2010-03-20', 'comentario': 'Descri\xc3\xa7ao \xc3\xa1
>> > > \xc3\xa9\r\n\r\ncom
>> > > > mais uma linha\r\n\r\natt'}*
>> >
>> > > > Not sure if it's happening because I'm appending it to a list... is
>> there
>> > > a
>> > > > way to solve it?
>> >
>> > > > Regards,
>> >
>> > > > Tito
>> >
>> > > > --
>> >
>> > > > Linux User #387870
>> > > > .........____
>> > > > .... _/_õ|__|
>> > > > ..º[ .-.___.-._| . . . .
>> > > > .__( o)__( o).:_______
>> >
>> > > --
>> > > To unsubscribe, reply using "remove me" as the subject.
>> >
>> > --
>> >
>> > Linux User #387870
>> > .........____
>> > .... _/_õ|__|
>> > ..º[ .-.___.-._| . . . .
>> > .__( o)__( o).:_______
>>
>
>
>
> --
>
> Linux User #387870
> .........____
> .... _/_õ|__|
> ..º[ .-.___.-._| . . . .
> .__( o)__( o).:_______
>



-- 

Linux User #387870
.........____
.... _/_õ|__|
..º[ .-.___.-._| . . . .
.__( o)__( o).:_______

Reply via email to