>>кто подскажет у меня в OCSI под разными пользователями одного компьютера возникают
>>разные записи, как сделать чтобы они объединялись с последней записью компьютера?
>>
>
>Так как же вы все победили кодировку Ocs и GLPI? сколько не
>читал не пробовал, бестолку, помогите пожалуйста!!! я победил очень просто:
1. с помощью hexeditor заменить в клиенте OCSInventory.exe строку ISO-8859-1 на windows-1251
2. забрать из SVN версию OCSI либо пропатчить серверную часть OCSI на поддержку unicode http://forums.ocsinventory-ng.org/viewtopic.php?id=4553
3. после тестирования из win клиента с помощью патченного OCSInventory.exe, в базе myqsql все должно быть по русски в utf8 (если у вас не так продолжать нет смысла дальше, настраивайте mysql).
4. GLPI патчится одной строкой, inc.ocsng.class.php:
--- a/inc.ocsng.class.php 2009-07-23 09:37:16.000000000 +0900
+++ b/inc.ocsng.class.php 2009-07-23 09:00:15.000000000 +0900
@@ -54,7 +54,7 @@
$this->dbuser = $data["ocs_db_user"];
$this->dbpassword = rawurldecode($data["ocs_db_passwd"]);
$this->dbdefault = $data["ocs_db_name"];
- $this->dbenc="latin1";
+ //$this->dbenc="latin1"; // see dbmysql.class.php:84
parent::__construct();
}
}
импорт в GLPI из OCSI успешно в нормальной кодировке.
5. OCSI web интерфейс (если нужен) патчится тоже просто (незнаю если это в SVN или нет проверял только серверную часть):
--- a/machine.php 2009-05-30 16:52:25.000000000 +0900
+++ b/machine.php 2009-06-29 10:14:28.000000000 +0900
@@ -623,10 +623,10 @@
while($item = mysql_fetch_object($resultDetails))
{ $ii++; $td3 = $ii%2==0?$td2:$td4;
echo "<tr>";
- echo "$td3".htmlentities(textDecode($item->PUBLISHER))."</td>
- $td3".htmlentities(textDecode($item->NAME))." </td>
+ echo "$td3".htmlspecialchars(textDecode($item->PUBLISHER))."</td>
+ $td3".htmlspecialchars(textDecode($item->NAME))." </td>
$td3".textDecode($item->VERSION)." </td>
- $td3".(htmlentities(textDecode($item->COMMENTS))?htmlentities(textDecode($item->COMMENTS)):"N/A")." </td>";
+ $td3".($item->COMMENTS?htmlspecialchars(textDecode($item->COMMENTS)):"N/A")." </td>";
/* $td3".textDecode($item->FOLDER)." </td>
$td3".textDecode($item->COMMENTS)." </td>";*/
echo "</tr>";
--- a/preferences.php 2009-05-30 16:52:25.000000000 +0900
+++ b/preferences.php 2009-06-29 10:05:02.000000000 +0900
@@ -19,7 +19,7 @@
define("MAX_CACHED_REGISTRY", 200 ); // Max number of registry that may be returned by optimizations queries
define("USE_CACHE", 0 ); //Do we use cache tables ?
define("UPDATE_CHECKSUM", 1 ); // do we need to update software checksum when using dictionnary ?
-define("UTF8_DEGREE", 0 ); // 0 For non utf8 database, 1 for utf8
+define("UTF8_DEGREE", 1 ); // 0 For non utf8 database, 1 for utf8
define("GUI_VER", "5003"); // Version of the GUI
define("MAC_FILE", "files/oui.txt"); // File containing MAC database
define("TAG_LBL", "Tag"); // Name of the tag information
@@ -343,6 +343,8 @@
require('install.php');
die();
}
+ @mysql_query("SET NAMES 'utf8'",$link);
+ @mysql_query("SET NAMES 'utf8'",$link2);
$_SESSION["writeServer"] = $link2;
$_SESSION["readServer"] = $link;
@@ -1534,9 +1536,9 @@
* @return Text decoded from UTF8 according to UTF8_DEGREE
*/
function textDecode( $txt ) {
- for( $i=0; $i<UTF8_DEGREE; $i++ ) {
- $txt = utf8_decode( $txt );
- }
+// for( $i=0; $i<UTF8_DEGREE; $i++ ) {
+// $txt = utf8_decode( $txt );
+// }
return $txt;
}