Обсуждение: Database encoding

Поиск
Список
Период
Сортировка

Database encoding

От
Jean-Michel POURE
Дата:
Hello all,

Should database encoding display as an integer or a string value?

CREATE DATABASE name [ WITH [ LOCATION = 'dbpath' ] [ TEMPLATE = template ]
[ ENCODING = encoding ] ] is a string.
Also, in pSQL SHOW CLIENT_ENCODING returns a string.

select pg_encoding_to_char(iEncoding) returns encoding.
pg_char_to_encoding (szEncoding) returns iEncoding.

UNICODE is enabled on my server, I have the following results:
1=EUC-JP
2=EUC-CN
3=EUC_KR
4=EUC_TW
5=UNICODE
6=MULE_INTERNAL
7= LATIN1 etc...

I don't have the time to write more because I have to leave now.

Regards,
Jean-Michel

Re: Database encoding

От
Dave Page
Дата:

> -----Original Message-----
> From: Jean-Michel POURE [mailto:jm.poure@freesurf.fr]
> Sent: 22 September 2001 20:13
> To: pgadmin-hackers@postgresql.org
> Subject: [pgadmin-hackers] Database encoding
>
>
> Hello all,
>
> Should database encoding display as an integer or a string value?
>
> CREATE DATABASE name [ WITH [ LOCATION = 'dbpath' ] [
> TEMPLATE = template ]
> [ ENCODING = encoding ] ] is a string.

Encoding can be a string or an integer. To be honest, I never use encoding
so I know virtually nothing about it at all. If you think it's being done
incorrectly, let me know and I'll fix it as you suggest.

Later, Dave.


Re: Database encoding

От
Jean-Michel POURE
Дата:
>Encoding can be a string or an integer. To be honest, I never use encoding
>so I know virtually nothing about it at all. If you think it's being done
>incorrectly, let me know and I'll fix it as you suggest.
>
>Later, Dave.

Hello,

If possible, I would prefer the display of stings vs numbers.
In psql, \list returns the list of databases with encoding names
(ex:'SQL_ASCII').

In my case, this helps distinguish between SQL_ASCII and UNICODE encoding.
I would suggest declaring Private szEncoding As String in pgSchema.

Later/JMP

****************************************************************************
**************************
Public Function EncodingIntegerToString (iEncoding As Integer) As String
On Error GoTo Err_Handler

Select Case iEncoding
     Case 0
     EncodingIntegerToString = "SQL_ASCII"

     Case 1
     EncodingIntegerToString = "EUC_JP"

     Case 2
     EncodingIntegerToString = "EUC_CN"

     Case 3
     EncodingIntegerToString = "EUC_KR"

     Case 4
     EncodingIntegerToString = "EUC_TW"

     Case 5
     EncodingIntegerToString = "UNICODE"

     Case 6
     EncodingIntegerToString = "MULE_INTERNAL"

     Case 7
     EncodingIntegerToString = "LATIN1"

     Case 8
     EncodingIntegerToString = "LATIN2"

     Case 9
     EncodingIntegerToString = "LATIN3"

     Case 10
     EncodingIntegerToString = "LATIN4"

     Case 11
     EncodingIntegerToString = "LATIN5"

     Else
     EncodingIntegerToString = CStr(iEncoding)
End Select

Exit Function
Err_Handler:  objServer.iLogError Err
End Function

Public Function EncodingStringToInteger(szEncoding As String) As Integer
On Error GoTo Err_Handler

Select Case szEncoding
     Case "SQL_ASCII"
     EncodingStringToInteger = 0

     Case "EUC_JP"
     EncodingStringToInteger = 1

     Case "EUC_CN"
     EncodingStringToInteger = 2

     Case "EUC_KR"
     EncodingStringToInteger = 3

     Case "EUC_TW"
     EncodingStringToInteger = 4

     Case "UNICODE"
     EncodingStringToInteger = 5

     Case "MULE_INTERNAL"
     EncodingStringToInteger = 6

     Case "LATIN1"
     EncodingStringToInteger = 7

     Case "LATIN2"
     EncodingStringToInteger = 8

     Case "LATIN3"
     EncodingStringToInteger = 9

     Case "LATIN4"
     EncodingStringToInteger = 10

     Case "LATIN5"
     EncodingStringToInteger = 11

     Else
     EncodingStringToInteger = CInt(szEncoding)
End Select

Exit Function
Err_Handler:  objServer.iLogError Err
End Function



Re: Database encoding

От
Dave Page
Дата:

> -----Original Message-----
> From: Jean-Michel POURE [mailto:jm.poure@freesurf.fr]
> Sent: 23 September 2001 08:10
> To: pgadmin-hackers@postgresql.org
> Subject: Re: [pgadmin-hackers] Database encoding
>
>
>
> >Encoding can be a string or an integer. To be honest, I never use
> >encoding so I know virtually nothing about it at all. If you
> think it's
> >being done incorrectly, let me know and I'll fix it as you suggest.
> >
> >Later, Dave.
>
> Hello,
>
> If possible, I would prefer the display of stings vs numbers.
> In psql, \list returns the list of databases with encoding names
> (ex:'SQL_ASCII').

OK, I'll look at that. I think there has been work on the server to do with
this recently - I'll look back at the list archives.

/D

> In my case, this helps distinguish between SQL_ASCII and
> UNICODE encoding. I would suggest declaring Private
> szEncoding As String in pgSchema.
>
> Later/JMP
>
> **************************************************************
> **************
> **************************
> Public Function EncodingIntegerToString (iEncoding As
> Integer) As String On Error GoTo Err_Handler
>
> Select Case iEncoding
>      Case 0
>      EncodingIntegerToString = "SQL_ASCII"
>
>      Case 1
>      EncodingIntegerToString = "EUC_JP"
>
>      Case 2
>      EncodingIntegerToString = "EUC_CN"
>
>      Case 3
>      EncodingIntegerToString = "EUC_KR"
>
>      Case 4
>      EncodingIntegerToString = "EUC_TW"
>
>      Case 5
>      EncodingIntegerToString = "UNICODE"
>
>      Case 6
>      EncodingIntegerToString = "MULE_INTERNAL"
>
>      Case 7
>      EncodingIntegerToString = "LATIN1"
>
>      Case 8
>      EncodingIntegerToString = "LATIN2"
>
>      Case 9
>      EncodingIntegerToString = "LATIN3"
>
>      Case 10
>      EncodingIntegerToString = "LATIN4"
>
>      Case 11
>      EncodingIntegerToString = "LATIN5"
>
>      Else
>      EncodingIntegerToString = CStr(iEncoding)
> End Select
>
> Exit Function
> Err_Handler:  objServer.iLogError Err
> End Function
>
> Public Function EncodingStringToInteger(szEncoding As String)
> As Integer On Error GoTo Err_Handler
>
> Select Case szEncoding
>      Case "SQL_ASCII"
>      EncodingStringToInteger = 0
>
>      Case "EUC_JP"
>      EncodingStringToInteger = 1
>
>      Case "EUC_CN"
>      EncodingStringToInteger = 2
>
>      Case "EUC_KR"
>      EncodingStringToInteger = 3
>
>      Case "EUC_TW"
>      EncodingStringToInteger = 4
>
>      Case "UNICODE"
>      EncodingStringToInteger = 5
>
>      Case "MULE_INTERNAL"
>      EncodingStringToInteger = 6
>
>      Case "LATIN1"
>      EncodingStringToInteger = 7
>
>      Case "LATIN2"
>      EncodingStringToInteger = 8
>
>      Case "LATIN3"
>      EncodingStringToInteger = 9
>
>      Case "LATIN4"
>      EncodingStringToInteger = 10
>
>      Case "LATIN5"
>      EncodingStringToInteger = 11
>
>      Else
>      EncodingStringToInteger = CInt(szEncoding)
> End Select
>
> Exit Function
> Err_Handler:  objServer.iLogError Err
> End Function
>
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to
> majordomo@postgresql.org)
>