#20166 [Com]: Unicode (Slovenian) characters are not displayed correctly
| From: | miha dot valencic at mobitel dot si | Date: | Fri, 08 Nov 2002 06:06:20 +0000 |
| Subject: | #20166 [Com]: Unicode (Slovenian) characters are not displayed correctly | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-24320@lists.php.net to get a copy of this message | ||
ID: 20166
Comment by: miha.valencic@mobitel.si
Reported By: miha.valencic@mobitel.si
Status: Open
Bug Type: *Languages/Translation
Operating System: Win2k
PHP Version: 4.2.2
New Comment:
A simple output of the three versions:
MSSQL accessed trough ADO COM object:
title: Novela zakona o dravljanstvu ne reuje nièesar
PHP Mssql extension:
title: Novela zakona o dr§avljanstvu ne reçuje niesar
MYSQL (entered trough command line)
String: ç§¬æ¦ string
MYSQL (entered trough php form)
String: è string
Previous Comments:
------------------------------------------------------------------------
[2002-11-05 00:29:14] miha.valencic@mobitel.si
Hi!
To define more clearly:
I have a Microsoft SQL database. In that database, there are many
articles, with pictures, etc. I tried to access those articles using
php, and wanted to display them. All is fine, but, instead of slovene
characters è (which you probably don't see anyway) I get garbles
(unrecognized characters). I was using mssql_* functions to retrieve
the data. Then, I created a simple table in mysql, inserted a row
manually (from the console) and the same thing happens. BUT, if I
insert the items trough PHP the first time, than the characters are
retrieved correctly. So I suspect there must be something with
encoding, perhaps. To make things even more funny, when I used ADO COM
object to access the MS SQL server, the strings retrieved are fine.
I apologize if I posted this under the wrong category, but I could not
decide whether it is a db problem or not. Feel free to move this item
to another category, if you wish.
System details: SQL Server: Win2k, Slovenian locale
PHP system: Win2k, Apache 1.3.26 (Win32), PHP 4.2.2, mysql 3.23.52,
Slovenian locale
------------------------------------------------------------------------
[2002-10-30 07:05:53] sniper@php.net
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
------------------------------------------------------------------------
[2002-10-30 02:45:23] miha.valencic@mobitel.si
The problem is with Microsoft SQL Server 2000 and with MySQL version
Ver 11.18 Distrib 3.23.52, for Win95/Win98 (i32).
I have a database with slovenian characters in the fields and I am not
able to display them properly with php extension modules. I can display
them propery using COM ADO objects. I've included a simple script, that
shows what I am trying to do. The ADO portion of the script produces
the desired result. The characters are entered using windows-1250
codepage.
The script:
<PRE><?
header("Content-Type", "text/html; charset=Windows-1250");
?>
<html><head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1250">
</head>
<body>
<?
$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$conn->Open("PROVIDER=MSDASQL;DRIVER={SQL SERVER};
Server=SRRDEV2;Database=portal;UID=sa;PWD=srrdev2;");
// SQL statement to build recordset.
$rs = $conn->Execute("SELECT * FROM TblInfo_News where IID = 3034326");
while (!$rs->EOF) {
$fv = $rs->Fields("title");
echo "title: ".$fv->value."<br>\n";
$rs->MoveNext();
}
$rs->Close();
?>
PHP Mssql extension:<br>
<?
$link = mssql_connect("srrdev2.mobitel.si", "sa", "srrdev2");
if($link) {
if(mssql_select_db("portal", $link)) {
$query = "SELECT * FROM TblInfo_News where IID = 3034326";
$result = mssql_query($query, $link);
if($result) {
if(mssql_num_rows($result)) {
while($row = mssql_fetch_array($result)) {
echo "title: " . $row['title'] . "<BR>";
}
} else {
echo "No results! <BR>";
}
mssql_free_result($result);
} else {
echo "Could not get the result!<BR>";
}
mssql_close($link);
} else {
echo "Could not select db!<BR>";
}
} else {
echo "Could not connect!<BR>";
}
// mysql
echo "MYSQL<BR>";
$link = mysql_connect("valencicm.mobitel.si", "root", "root")
or die("Could not connect");
mysql_select_db("test");
$query = "SELECT * FROM tbl1";
$result = mysql_query($query);
if($result) {
$row = mysql_fetch_array($result);
if($row) {
echo "String: " . $row['fld1'];
}
mysql_free_result($result);
}
mysql_close($link);
?>
</body></PRE>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=20166&edit=1