הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 12-02-11, 09:56   # 11
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

אחרי המרות שאתה עושה תגדיר את התאים במסד כ hebrew_general_ci
ותריץ set names hebrew
  Reply With Quote
ישן 12-02-11, 13:17   # 12
SniR-S
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Aug 2008
הודעות: 546

SniR-S לא מחובר  

אוקי חבר'ס, אז אני הצלחתי למצוא פתרון, קצת אחר,
אבל מכיוון ששמתי לב שהנתונים בטבלה הראשונה, הם בקידוד עברי
ולא פעמיים 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" .. בכתובת..
ודבר שני זה שאתם יכולים לשנות את הסקריפט כרצונכם ולייעל אותו איך שבא לכם.
להוסיף, לערוך, לשנות ולשדרג, אני מקווה שהוא יעזור גם לאחרים, ובמידה
ומישהו יתקל בבעיה הזו שלי, הוא יוכל להיעזר בזה.


בכל מקרה חברים, תודה רבה לכל מי שעזר

Last edited by SniR-S; 12-02-11 at 13:38..
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 12:57.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ