Witam.
W liście z dnia 20 marca 2005 (19:59:47) można przeczytać:
I przy okazji pytanie do developerow: czy mozna spodziewac sie jakiegos supportu konwersji z utf na iso i z iso na utf w glownej klasie lms-a ??(lms.class) Wykorzystuje ta klase do wlasnych skryptow php ( i przypuszczam nie ja jeden), i za kazdym razem jak cos wyciagne z bazy , musze konwertowac na iso.
To nie w klasie LMS'a powinno się zrobić, a w LMSDB.
Ja akurat do strony www używam LMSDB, można by faktycznie na poziomie tego pseudo api dopisać jaką konwersje on-the-fly:
--- LMSDB_common.class.php Thu Mar 10 11:05:38 2005 +++ LMSDB_common.class.php.orig Sun Mar 6 11:13:57 2005 @@ -72,7 +72,7 @@ function Execute($query, $inputarray = NULL) { // echo $this->_query_parser($query,$inputarray).'<HR>'; - if(! $this->_driver_execute($this->_query_parser($query,$inputarray))) + if(! $this->_driver_execute(iconv("ISO-8859-2", "UTF-8", $this->_query_parser($query,$inputarray)))) { $this->errors[] = array( 'query' => $this->_query, @@ -92,8 +92,13 @@ unset($result);
while($row = $this->_driver_fetchrow_assoc()) + { + if(is_array($row)) + foreach($row as $key => $value) + $row[$key] = iconv("UTF-8", "ISO-8859-2", $value); $result[] = $row; - + } + return $result; }
@@ -105,7 +110,12 @@ unset($result);
while($row = $this->_driver_fetchrow_assoc()) + { + if(is_array($row)) + foreach($row as $key => $value) + $row[$key] = iconv("UTF-8", "ISO-8859-2", $value); $result[$row[$key]] = $row; + }
return $result; } @@ -115,7 +125,11 @@ if($query) $this->Execute($query, $inputarray);
- return $this->_driver_fetchrow_assoc(); + $row = $this->_driver_fetchrow_assoc(); + if(is_array($row)) + foreach($row as $key => $value) + $row[$key] = iconv("UTF-8", "ISO-8859-2", $value); + return $row; }
function GetCol($query = NULL, $inputarray = NULL) @@ -128,6 +142,10 @@ while($row = $this->_driver_fetchrow_num()) $result[] = $row[0];
+ if(is_array($row)) + foreach($result as $key => $value) + $result[$key] = iconv("UTF-8", "ISO-8859-2", $value); + return $result; }
@@ -140,6 +158,8 @@
list($result) = $this->_driver_fetchrow_num();
+ $result = iconv("UTF-8", "ISO-8859-2", $result); + return $result; }