[freetds] mssql_connect : Unable to connect to server
Pedro Barbosa
pbarbosa at inescporto.pt
Tue Nov 8 12:36:36 EST 2005
Thanks for that, but i solved it by exporting LANG=pt_PT
I wanted to use the DB to build xml for dspace and with that i only had
to define ISO-8859-1 in the xml header.
Everything is working now.
Thanks
Pedro Barbosa
Lowden, James K wrote:
>>From: Pedro Barbosa
>>Sent: Tuesday, November 08, 2005 6:45 AM
>>James K. Lowden wrote:
>>
>>
>>>>Frediano Ziglio wrote:
>>>>
>>>>
>>>>>Il giorno ven, 04/11/2005 alle 16.18 +0000, Pedro Barbosa ha scritto:
>>>>>when >i do a select in a table i get the tipical portuguese caracters
>>>>>like a >square. how can i solve this?
>>>>>
>>>>>You have to use a client encoding that is compatible.
>>>>>
>>>>>
>>>>>
>>>Pedro Barbosa wrote:
>>>
>>>
>>>>freddy can you be a litlle more specific?
>>>>
>>>>
>>>The "client charset" in freetds.conf should match the character set on the
>>>client indicated by locale(1).
>>>
>>>
>>i'm sorry but i dont think i understand.
>>
>>
>
>That's OK. You provided all the information I need. :-)
>
>
>
>>What i did was add in locales.conf
>>
>>[pt_PT]
>> date format = %d/%m/%Y %H:%M
>> language = Portuguese
>> char set = iso_1
>>
>>
>
>I don't think 'character set' in locales.conf is used. In any case, it would have to be 'character set', not 'char set'. 'iso_1' is also wrong, see below.
>
>
>
>>and in freetds.conf i have:
>>
>>[server]
>> host = ip port =1433 tds version = 8.0
>>
>>
> client charset = pt_PT
>
>No, 'client charset' in freetds.conf needs a valid iconv character set name.
>
>
>
>>when i try to access from [freetds]/bin/tsql ....
>>it says :
>>locale is "pt_PT.UTF-8"
>>locale charset is "UTF-8"
>>
>>
>
>Good. Your locale is the Portuguese language using the UTF-8 character set. Your client wants FreeTDS to convert characters e.g. "é ou ç ão" from the server's encoding (iso_1, perhaps) to UTF-8.
>
>Probably you should change your freetds.conf entry to:
>
>[server]
> host = ip
> port =1433
> tds version = 8.0
> client charset = utf-8
>
>Explanation follows.
>
>FreeTDS uses iconv(3) to convert between character sets. What string does iconv(3) expect? Usually you can use iconv(1) to determine the correct name:
>
>$ iconv -l |grep -i utf | sed 's/^/ /'
> utf-16
> utf-16be
> utf-16le
> utf-32
> utf-32be
> utf-32le
> utf-8 <== what you want on my box
>
>http://www.unicode.org/standard/translations/portuguese.html
>
>You may be used to ISO 8859-1 (latin-1) encoding, which extends ASCII in the range 128-255. UTF-8 uses two bytes to represent non-ASCII Portuguese characters. For example, let's look at the 'é' character:
>
>$ locale |grep CTYPE
>LC_CTYPE="en_US.ISO8859-1"
>
>$ printf '\xe9\n'
>é
>
>That works for me because I'm *not* using UTF-8! On your machine, you should see a little square or something.
>
>Here it is in hex:
>
>$ printf '\xe9\n' | hexdump -C
>00000000 e9 0a
>
>Here it is in UTF-8, in hex:
>
>$ printf '\xe9\n' | iconv -f ISO8859-1 -t utf-8 | hexdump -C
>00000000 c3 a9 0a
>
>When your xterm is sent the 2-byte sequence 'c3a9' it prints 'é'. Let's try it:
>
>$ printf '\xe9\n' | iconv -f ISO8859-1 -t utf-8
>é
>
>Oops. I'm not using UTF-8. But it should work for you. ;-)
>
>You may wish to read http://www.freetds.org/userguide/aboutunicode.htm for some more background information.
>
>Regards,
>
>--jkl
>
>
>-----------------------------------------
>The information contained in this transmission may be privileged and
>confidential and is intended only for the use of the person(s) named
>above. If you are not the intended recipient, or an employee or agent responsible
>for delivering this message to the intended recipient, any review, dissemination,
>distribution or duplication of this communication is strictly prohibited. If you are
>not the intended recipient, please contact the sender immediately by reply e-mail
>and destroy all copies of the original message. Please note that we do not accept
>account orders and/or instructions by e-mail, and therefore will not be responsible
>for carrying out such orders and/or instructions. If you, as the intended recipient
>of this message, the purpose of which is to inform and update our clients, prospects
>and consultants of developments relating to our services and products, would not
>like to receive further e-mail correspondence from the sender, please "reply" to the
>sender indicating your wishes. In the U.S.: 1345 Avenue of the Americas, New York,
>NY 10105.
>_______________________________________________
>FreeTDS mailing list
>FreeTDS at lists.ibiblio.org
>http://lists.ibiblio.org/mailman/listinfo/freetds
>
>
>
More information about the FreeTDS
mailing list