אוקי חבר'ס, אז אני הצלחתי למצוא פתרון, קצת אחר,
אבל מכיוון ששמתי לב שהנתונים בטבלה הראשונה, הם בקידוד עברי
ולא פעמיים UTF-8 (שגם זה היה אפשרי להמיר, עם הסקריפט שבניתי, רק טיפה לשנות אותו)
אז הכנתי סקריפט שיעשה את העבודה.
הסקריפט הוא להמרת הכותרות של הנושאים מהמערכת VBULLETIN ל PHPBB3
אני כמעט בטוח שזה עובד על כל גירסאות ה VB, אני בטוח שעל 4 ו 3 זה עובד.
מה שהסקריפט עושה בעצם, הוא שולף את הכותרת וה ID מהטבלה של הנושאים במערכת VB
ומעדכן את הכותרת לפי ה ID של הנושא בטבלת הנושאים של המערכת PHPBB3
כמובן, זה רק לאחר ביצוע המרה של המערכת VB ל PHPBB3.
אז מי שזה גם קורה לו שכותרות הנושאים לא הומרו כמו שצריך (אגב אצלי זה גם השמות פורומים, אבל גם אותם אני אשנה, ע"י שינוי קטן בסקריפט, מה שגם אתם יכולים לעשות),
אז הוא יכול להשתמש בסקריפט.
PHP קוד:
<html dir="rtl">
<head>
<title>SCRIPT CONVERT TOPICS, HEBREW - VBULLETIN TO PHPBB3</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255" />
</head>
<body>
<?php
$connection = mysql_connect("localhost", "NAME_USER_DB", "PASSWORD_USER_DB");
$connect = mysql_select_db("NAME_DB", $connection);
$utf8 = mysql_query("SET NAMES 'latin1'");
$query_n = mysql_query("SELECT `topic_id` FROM `phpbb_topics`") or die ("Query Faild:" . mysql_error());
$number = mysql_num_rows($query_n);
if ($_GET['start'] >= $number) {
echo "<br /><br />כל הרשומות הומרו.";
echo "<meta http-equiv=\"refresh\" content=\"1;url=http://www.google.co.il\" />";
} elseif (isset($_GET['start']) && is_numeric($_GET['start'])) {
$start = $_GET['start'];
$limited = 500; // מספר נושאים להמרה בכל 10 שניות
$query = mysql_query("SELECT * FROM `thread` ORDER BY `threadid` LIMIT $start,$limited") or die ("Query Faild:" . mysql_error());
while ($r = mysql_fetch_assoc($query)) {
$id = $r['threadid'];
$title = $r['title'];
echo $id . " | " . $title . "<br />";
mysql_query("SET NAMES 'hebrew'");
mysql_query("UPDATE `phpbb_topics` SET `topic_title` = '$title' WHERE `topic_id` = '$id'");
}
$to_start = $start+$limited;
echo "<br /><br />הרשומות מרשומה $start ועד הרשומה $to_start הומרו,הינך מועבר לרשומות הבאות.";
echo "<meta http-equiv=\"refresh\" content=\"10;url=?start=$to_start\" />";
}
?>
</body>
</html>
צריך להכניס את פרטי המסד כמובן,
לפנות להפעלת הסקריפט פשוט להוסיף "?start=0" .. בכתובת..
ודבר שני זה שאתם יכולים לשנות את הסקריפט כרצונכם ולייעל אותו איך שבא לכם.
להוסיף, לערוך, לשנות ולשדרג, אני מקווה שהוא יעזור גם לאחרים, ובמידה
ומישהו יתקל בבעיה הזו שלי, הוא יוכל להיעזר בזה.
בכל מקרה חברים, תודה רבה לכל מי שעזר
