[freetds] Unicode problem

Frediano Ziglio freddy77 at gmail.com
Tue Sep 3 07:45:04 EDT 2013


How did you configure odbc.ini ?

Try to add ClientCharset (see
http://www.freetds.org/userguide/odbcconnattr.htm)

Frediano


2013/9/3 Vano Beridze <vano.beridze at silkroad.ge>

> Hello,
>
> I've got windows 7 machine that runs SQL Server Express 2008  R2.
> I've some table with nvarchar field that contains unicode data.
>
> Another linux (CentOS 6.4) machine runs Apache 2.2 with php 5.3.3.
> freetds version is 0.91
>
> This is the /etc/freetds.conf file
> [global]
>          # TDS protocol version
>          tds version = 8.0
>          port = 1433
>          client charset = UTF-8
>          # Whether to write a TDSDUMP file for diagnostic purposes
>          # (setting this to /tmp is insecure on a multi-user system)
>          dump file = /tmp/freetds.log
>          debug flags = 0x4fff
>
>          # Command and connection timeouts
>          timeout = 180
>          connect timeout = 180
>
>          # If you get out-of-memory errors, it may mean that your client
>          # is trying to allocate a huge buffer for a TEXT field.
>          # Try setting 'text size' to a more reasonable limit
>          text size = 20971520
>
> I've created simple php script that connects to sql server and reads
> data from that table (actually there is a view to hide unnecessary fields)
>
> Here is the php script
> <?php
> echo "<html><head>";
> echo '<meta http-equiv="Content-type" content="text/html; charset=utf-8"
> />';
> echo "</head>";
> echo "<body>";
> echo "<h1>Hello</h1>";
> $connect = odbc_connect("server", "someuser", "somepass");
>
> if (!$connect) {
> echo '<h3 color="red">Could not connect to the database!!!</h3>';
> die();
> }
>
>
> # query the users table for all fields
> $query = "SELECT odf_address FROM dbo.odf";
>
> # perform the query
> $result = odbc_exec($connect, $query);
>
> # fetch the data from the database
> while(odbc_fetch_row($result)) {
> #$field1 = odbc_result($result, 1);
> $field2 = odbc_result($result, 1);
> #echo $field1;
> #echo "<br>";
> echo $field2;
> echo "<br>";
> }
>
> # close the connection
> odbc_close($connect);
> echo "</body></html>";
> ?>
>
> The script works fine. it connects and gets the data. The only problem I
> have is that data is shown as question marks, so it's not converted to
> UTF-8. I've read all the information I could find on the internet but
> can not solve the problem.
>
> Could you please suggest what's the problem?
>
> --
> Vano Beridze
> Software Developer
> Silk Road Group
>
>
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
>


More information about the FreeTDS mailing list