Обсуждение: 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. 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
> -----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.
>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
> -----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) >