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