Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 9A18F2E10A2 for ; Mon, 14 Jan 2008 16:03:17 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 95803-06 for ; Mon, 14 Jan 2008 16:03:12 -0400 (AST) Received: from trinity.vnet-inc.com (matrix.vnet-inc.com [216.129.224.52]) by postgresql.org (Postfix) with ESMTP id 240D72E00A0 for ; Mon, 14 Jan 2008 16:03:12 -0400 (AST) Received: from localhost (localhost.vnet-inc.com [127.0.0.1]) by trinity.vnet-inc.com (Postfix) with ESMTP id 8F3205A3C0FB for ; Mon, 14 Jan 2008 13:03:09 -0700 (MST) Received: from trinity.vnet-inc.com ([127.0.0.1]) by localhost (matrix.vnet-inc.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 07761-07 for ; Mon, 14 Jan 2008 13:03:09 -0700 (MST) Received: from [192.168.157.32] (unknown [216.129.226.131]) by trinity.vnet-inc.com (Postfix) with ESMTP id C96725A3C09E for ; Mon, 14 Jan 2008 13:03:07 -0700 (MST) Message-ID: <478BBF12.1000803@ttc-cmc.net> Date: Mon, 14 Jan 2008 12:59:14 -0700 From: dmp User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.13) Gecko/20060417 X-Accept-Language: en-us, en MIME-Version: 1.0 To: pgsql-sql@postgresql.org Subject: Re: UTF8 encoding and non-text data types References: <478BBD5D.4000004@ttc-cmc.net> In-Reply-To: <478BBD5D.4000004@ttc-cmc.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at vnet-inc.com X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200801/116 X-Sequence-Number: 29969 Sorry this should have been addressed to Medi dana. > Hi Steve, > Have you tried converting to a decimal type or cast for the cost > field? If you > are gathering this data from a text field and placing in a variable > of type string > then using that variable in the insert statement it may be rejected > because it is not > type decimal. This has been my experience with trying to get input > data from > user's textfields and placing in the db. > > dana. > >> Thanks Steve, >> >> Actually I do not insert text data into my numeric field. >> As I mentioned given >> create table t1 { name text, cost decimal } >> then I would like to insert numeric data into column "cost" because >> then I can later benefit from numerical operators like SUM, AVG, etc >> >> More specifically, I am using HTML, Perl and PG. So from the HTML >> point of view a textfield is just some strings. So my user would >> enter 12345 but expressed in UTF8. Perl would get this and use DBI to >> insert it into PG >> >> What I am experiencing now is that DB errors that I am trying to >> insert an incorrect data into column "cost" which is numeric and the >> data is coming in from HTML in UTF8 >> >> Mybe I have to convert it to ASCII numbers in Perl before inserting >> them into PG >> >> Thanks >> Medi >> >> > >> >I understand PG supports UTF-8 encoding and I have sucessfully >> >inserted >> >Unicode text into columns. I was wondering about other data types such >> >as >> >numbers, decimal, dates >> > >> >That is, say I have a table t1 with >> >create table t1 { name text, cost decimal } >> >I can insert UTF8 text datatype into this table with no problem >> >But if my application attempts to insert numbers encloded in UTF8, >> >then I >> >get wrong datatype error >> > >> >Is the solution for the application layer (not database) to convert >> >the >> >non-text UTF8 numbers to ASCII and then insert it into database ? >> > >> >Thanks >> >Medi >> >> Hi Medi, >> >> I have only limited experience in this area, but it sounds like you >> sending your numbers as strings? In your example: >> >> >create table t1 { name text, cost decimal }; >> >> insert into t1 (name, cost) values ('name1', '1'); >> >> I can't think of how else you're sending numeric values as UTF8? I know >> that Pg will accept numbers as strings and convert internally (that has >> worked for me in some object relational environments where I don't >> choose to cope with data types), but I think it would be better if you >> simply didn't send your numeric data in quotations, whether as UTF8 or >> ASCII. If you don't have control over this layer (that quotes your >> values), then I'd say converting to ASCII would solve the problem. But >> better to convert to numeric and not ship quoted strings at all. >> >> I may be totally off-base and missing something fundamental and I'm >> very open to correction (by anyone), but that's what I can see here. >> >> Best regards, >> >> Steve > > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org