ID:               38760
 Updated by:       [EMAIL PROTECTED]
 Reported By:      aireater at gmail dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         MSSQL related
 Operating System: Windows 2003 Server
 PHP Version:      5.1.6
 New Comment:

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.




Previous Comments:
------------------------------------------------------------------------

[2006-09-09 13:38:29] aireater at gmail dot com

Could you replace the prior sample with this one? The old one has some
authentification info.

<?php
$server = "localhost\sqlexpress";
$username = "userid";
$password = "password";
$sqlconnect = mssql_connect($server, $username, $password);
$sqldb = mssql_select_db("testdb",$sqlconnect);
$str = 'DDDDDDDD';
$cstr = mb_convert_encoding($str,"UCS2","UTF-8");
$sqlquery = "insert into testtable (name) values(N'".$cstr."');";
$results = mssql_query($sqlquery);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<?php
$result = mssql_query("SELECT * FROM testtable");
while ($row=mssql_fetch_array($result)){
echo mb_convert_encoding($row['name'],"UTF-8","UCS2")."<br>\n";}
mssql_close($sqlconnect);
?>

------------------------------------------------------------------------

[2006-09-09 13:31:16] aireater at gmail dot com

In the prior sample, the mbstring was used just to set the
mb_internal_encoding to UTF-8 in php.ini.

In another case as below in which I converted a string from UTF-8 to
UCS2 before inserted but it did not work either. I'm not sure and I
don't care which func should correctly convert a string to UCS2. I just
want to insert a multi-byte unicode string to MS SQL Server.

<?php
$server = "GATEWAY\sqlexpress";
$username = "sugardb";
$password = "ryu3513";
$sqlconnect = mssql_connect($server, $username, $password);
$sqldb = mssql_select_db("testdb",$sqlconnect);
$str =
'&#12381;&#12375;&#12390;&#21315;&#33865;&#12391;&#12377;&#12371;&#12428;&#12399;&#12393;&#12358;&#12391;&#12377;';
$cstr = mb_convert_encoding($str,"UCS2","UTF-8");
$sqlquery = "insert into testtable (name) values(N'".$cstr."');";
$results = mssql_query($sqlquery);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<?php
$result = mssql_query("SELECT * FROM testtable");
while ($row=mssql_fetch_array($result)){
echo mb_convert_encoding($row['name'],"UTF-8","UCS2")."<br>\n";}
mssql_close($sqlconnect);
?>

------------------------------------------------------------------------

[2006-09-09 13:11:22] [EMAIL PROTECTED]

What makes you think that this code should convert something to UCS-2?
What does it have to do with mbstring, which is even not mentioned in
this code?

------------------------------------------------------------------------

[2006-09-09 13:04:57] aireater at gmail dot com

This is a sample script to reproduce the issue. Create a table with a
"name" column of a varchar type only before testing. The string "DD"
means the string is consisted of multi-byte UTF-8 cahracters. Some are
inserted correctly, but most of time, inserted strings are not
correctly shown on the screen because they are not correctly inserted
in UCS-2. This script is for MS SQL Server 2005 Express.

<?php
$server = "localhost\sqlexpress";
$username = "username";
$password = "password";
$sqlconnect = mssql_connect($server, $username, $password);
$sqldb = mssql_select_db("testdb",$sqlconnect);
$str = 'DD';
$sqlquery = "insert into testtable (name) values('".$str."');";
$results = mssql_query($sqlquery);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<?php
$result = mssql_query("SELECT * FROM testtable");
while ($row=mssql_fetch_array($result)){
echo $row['name']."<br>\n";}
mssql_close($sqlconnect);
?>

------------------------------------------------------------------------

[2006-09-09 12:12:25] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.



------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/38760

-- 
Edit this bug report at http://bugs.php.net/?id=38760&edit=1

Reply via email to