Jump to content

Unicode Support in PHP and MS SQL


Recommended Posts

We are using PHP 5.1.6, MS SQL 2000 and ADO (PHP COM object) as connection.

The issue we are trying to resolve is to correctly save and retrieve Cyrrilic data
to/from database using Web Inteface, as well as to be able to retrieve
data using MS SQL DTS tool.

The data type in database is defined as nvarchar and character set on webpage defined as UTF-8.

If database connection is established as $ado=new COM ("ADODB.Connection"),
the Cyrrilic data is stored correctly to database, but has no meaning on webpage,
and if connection is established as $ado=new COM ("ADODB.Connection",NULL,CP_UTF8),
data is displayed correctly on webpage, but looks as garbage in database.

We believe, the problem is that  UTF-8 encoding is not supported
in SQL Server and UCS-2 (SQL Server Unicode encoding)
is not supported in webpage. So in case where we specified code page in connection
as UTF-8, the data was stored as a sequece of characters and when read back
from database, was interpreted correctly on webpage

Also, we have tried PHP "mb_convert_encoding" and "iconv" functions
(mb_convert_encoding($string,'UTF-8','UCS-2'); iconv('UCS-2','UTF-8',$string);)
to convert data betweeen different encodings, but it was not working properly.

Is there any ideas on how it can be resolved?

Many thanks.

Link to comment
Share on other sites

  • 2 months later...
This thread is more than a year old. Are you sure you have something important to add to it?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.