הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עברית עם AJAX ... (https://hosts.co.il/forums/showthread.php?t=62052)

hi_sorie 17-04-08 22:39

עברית עם AJAX ...
 
אני נכנס ל JS עובר ל PHP חוזר ל JS עם תווים בעברית וזה מציג לי אותם בקידוד לא נכון ...

�������a>

הנה התוצר היפיפה ... חחחח

קיצר איך אני עושה שמה שנפלט לי מ PHP דרך AJAX חוזר בעברית ?

daMn 17-04-08 22:53

בדף שמעבד את הנתונים ומחזיר את התשובה שלח header
במקרה ואתה עובד עם windows-1255
שלח את זה:
PHP קוד:

header("Content-type: text/html; charset=windows-1255"); 

ותזכור שאתה עובד רק עם windows-1255..

hi_sorie 17-04-08 22:59

ציטוט:

נכתב במקור על ידי daMn (פרסם 625101)
בדף שמעבד את הנתונים ומחזיר את התשובה שלח header
במקרה ואתה עובד עם windows-1255
שלח את זה:
PHP קוד:

header("Content-type: text/html; charset=windows-1255"); 

ותזכור שאתה עובד רק עם windows-1255..


headers כבר נשלחו ... שגיאה...

daMn 17-04-08 23:02

php.net/ob_start

hi_sorie 17-04-08 23:02

ציטוט:

נכתב במקור על ידי daMn (פרסם 625105)
php.net/ob_start

עשיתי עדיין שגיאה

Tomer 17-04-08 23:06

- טלפתיה -

לא, אני לא מצליח לתקשר עם המוח שלך בשביל לקבל את השגיאה.

hi_sorie 17-04-08 23:11

ציטוט:

נכתב במקור על ידי Tomer (פרסם 625108)
- טלפתיה -

לא, אני לא מצליח לתקשר עם המוח שלך בשביל לקבל את השגיאה.

אמרתי מה השגיאה חבל שאתה לא קורא ...

headers כבר נשלחו ...

או בתרגום :

Warning: Cannot modify header information - headers already sent

daMn 17-04-08 23:16

ציטוט:

נכתב במקור על ידי hi_sorie (פרסם 625109)
אמרתי מה השגיאה חבל שאתה לא קורא ...

headers כבר נשלחו ...

או בתרגום :

Warning: Cannot modify header information - headers already sent

תומר צודק.. אנחנו לא צריכים תרגומים לשגיאות..תעתיק את השגיאה..גם אני בהתחלה לא הבנתי אותך.. בכל מקרה
בהתחלה
PHP קוד:

ob_start(); 

ובסוף
PHP קוד:

ob_end_flush(); 

חייב לעבוד.

hi_sorie 17-04-08 23:19

הבנתי את הבעיה !
זה במסד !

עם איזה קידוד להמשתמש ב SQL ?

daMn 17-04-08 23:21

מאיפה המערך של DB בא? אתה מאנקלד את הדף הנ"ל מדף אחר?

Tomer 17-04-08 23:24

hi_sorie, אתה צריך ללמוד להתנהג לאנשים שמנסים לעזור לך.

hi_sorie 17-04-08 23:32

ציטוט:

נכתב במקור על ידי daMn (פרסם 625114)
מאיפה המערך של DB בא? אתה מאנקלד את הדף הנ"ל מדף אחר?

לא מהדף הזה פשוט חסכתי את הפרטים ל DB ...
נראה לי זה בגלל הקידוד במסד..

על איזה קידוד הוא אמור לעבוד?

daMn 17-04-08 23:40

ציטוט:

נכתב במקור על ידי hi_sorie (פרסם 625120)
לא מהדף הזה פשוט חסכתי את הפרטים ל DB ...
נראה לי זה בגלל הקידוד במסד..

על איזה קידוד הוא אמור לעבוד?

לא צריך להיות קידוד מיוחד, כי זה בכל זאת PHP ושאילתות SQL רגילות, הAJAX לא משנה כלום.
תעבוד על הקידוד שאתה רגיל בו.

hi_sorie 17-04-08 23:42

ציטוט:

נכתב במקור על ידי daMn (פרסם 625125)
לא צריך להיות קידוד מיוחד, כי זה בכל זאת PHP ושאילתות SQL רגילות, הAJAX לא משנה כלום.
תעבוד על הקידוד שאתה רגיל בו.


סידרתי את הקידוד...

עכשיו הבעיה נשארה ...
זה מעביר לי את העברית לדף מהקוד
אבל מהמסד נתונים זה נותן לי גיבריש...

WebProject 18-04-08 06:05

פשוט שים בדף PHP:

header("Content-type:text/html;charset=windows-1255");

לי זה עובד .

daMn 18-04-08 09:02

ציטוט:

נכתב במקור על ידי WebProject (פרסם 625173)
פשוט שים בדף PHP:

header("Content-type:text/html;charset=windows-1255");

לי זה עובד .

כבר אמרתי לו לשלוח הדר =/ ולא עזר לו, אני לא מבין למה=/

hi_sorie 18-04-08 09:37

ציטוט:

נכתב במקור על ידי WebProject (פרסם 625173)
פשוט שים בדף PHP:

header("Content-type:text/html;charset=windows-1255");

לי זה עובד .

הנה אני יפרסם את הקוד...
שימו אצלכם תראו שלא עובד...

PHP קוד:

 
<?
ob_start
();
header("Content-type: text/html; charset=windows-1255");
// את הפרטים למסד מחקתי זה הדבר היחיד שהיה שאתם לא רואים...
  
mysql_connect ($DB['sql_host'],$DB['sql_user'],$DB['sql_pass']);
  
mysql_select_db ($DB['sql_database']);
   
$CatID $_GET["CatID"];
   
$query1 mysql_query("SELECT * FROM Guides WHERE CatID='".$CatID."'");
   
$Gcount mysql_num_rows($query1);
   
$query mysql_query("SELECT * FROM Guides WHERE CatID='".$CatID."' order by id Limit 0,1 ");
   if (
mysql_num_rows($query) != 0){
   while ( 
$Result mysql_fetch_array($query)){
    echo 
'
     <table>
      <tr>
       <td>
        קיימים '
.$Gcount.' מדריכים בקטגוריה.
       </td>
      </tr>
      <tr>
       <td>
        המדריך האחרון: <br /> <a href="?id=Guides&act=Show&Gid='
.$Result["id"].'"><span lang="he">
    '
;
    echo 
$Result["title"];
    echo 
'
        </span></a>
       </td>
      </tr>
      <tr>
       <td>
        <a href="?id=Guides&CatID='
.$Result["CatID"].'">לכלל מדריכי הקטגוריה</a>
       </td>
      </tr>
     </table>
    '
;
   }
   }else{
    echo 
'אין מדריכים בקטגוריה זו';
   }
mysql_close();  
ob_end_flush();
?>


Elad-A 18-04-08 09:46

אסור שיהיה רווחים מעל <?

hi_sorie 18-04-08 09:50

ציטוט:

נכתב במקור על ידי Elad-A (פרסם 625200)
אסור שיהיה רווחים מעל <?

בקוד אצלי אין
פה יצא עם שפתחתי תג PHP

Daniel 18-04-08 10:28

דבר ראשון, אתה אמרת, שכאשר אתה מוסיף את ה-Header, זה אומר לך שמשהו כבר נשלח. אבל שום דבר לא נשלח,
PHP קוד:

<?
header
("Content-type: text/html; charset=windows-1255");
// את הפרטים למסד מחקתי זה הדבר היחיד שהיה שאתם לא רואים...
  
mysql_connect ($DB['sql_host'],$DB['sql_user'],$DB['sql_pass']);
  
mysql_select_db ($DB['sql_database']);
   
$CatID $_GET["CatID"];
   
$query1 mysql_query("SELECT * FROM Guides WHERE CatID='".$CatID."'");
   
$Gcount mysql_num_rows($query1);
   
$query mysql_query("SELECT * FROM Guides WHERE CatID='".$CatID."' order by id Limit 0,1 ");
   if (
mysql_num_rows($query) != 0){
   while ( 
$Result mysql_fetch_array($query)){
    echo 
'
     <table>
      <tr>
       <td>
        קיימים '
.$Gcount.' מדריכים בקטגוריה.
       </td>
      </tr>
      <tr>
       <td>
        המדריך האחרון: <br /> <a href="?id=Guides&act=Show&Gid='
.$Result["id"].'"><span lang="he">
    '
;
    echo 
$Result["title"];
    echo 
'
        </span></a>
       </td>
      </tr>
      <tr>
       <td>
        <a href="?id=Guides&CatID='
.$Result["CatID"].'">לכלל מדריכי הקטגוריה</a>
       </td>
      </tr>
     </table>
    '
;
   }
   }else{
    echo 
'אין מדריכים בקטגוריה זו';
   }
?>

mysql_close אפשר להוריד - המסד נסגר מעצמו.
משתמש ב-<?php, בשביל מקסימום תאימות(ישנם שרתים שלא מאפשרים shorttags).

המסקנה היחידה לפי דעתי, שאתה אומר את זה בפורמט UTF8 WITH BOM, או משהו דומה. תשמור את זה כ-UTF8 רגיל, אם זה כך.

hi_sorie 18-04-08 10:41

ציטוט:

נכתב במקור על ידי MasterT (פרסם 625212)
דבר ראשון, אתה אמרת, שכאשר אתה מוסיף את ה-Header, זה אומר לך שמשהו כבר נשלח. אבל שום דבר לא נשלח,
PHP קוד:

<?
header
("Content-type: text/html; charset=windows-1255");
// את הפרטים למסד מחקתי זה הדבר היחיד שהיה שאתם לא רואים...
  
mysql_connect ($DB['sql_host'],$DB['sql_user'],$DB['sql_pass']);
  
mysql_select_db ($DB['sql_database']);
   
$CatID $_GET["CatID"];
   
$query1 mysql_query("SELECT * FROM Guides WHERE CatID='".$CatID."'");
   
$Gcount mysql_num_rows($query1);
   
$query mysql_query("SELECT * FROM Guides WHERE CatID='".$CatID."' order by id Limit 0,1 ");
   if (
mysql_num_rows($query) != 0){
   while ( 
$Result mysql_fetch_array($query)){
    echo 
'
     <table>
      <tr>
       <td>
        קיימים '
.$Gcount.' מדריכים בקטגוריה.
       </td>
      </tr>
      <tr>
       <td>
        המדריך האחרון: <br /> <a href="?id=Guides&act=Show&Gid='
.$Result["id"].'"><span lang="he">
    '
;
    echo 
$Result["title"];
    echo 
'
        </span></a>
       </td>
      </tr>
      <tr>
       <td>
        <a href="?id=Guides&CatID='
.$Result["CatID"].'">לכלל מדריכי הקטגוריה</a>
       </td>
      </tr>
     </table>
    '
;
   }
   }else{
    echo 
'אין מדריכים בקטגוריה זו';
   }
?>

mysql_close אפשר להוריד - המסד נסגר מעצמו.
משתמש ב-<?php, בשביל מקסימום תאימות(ישנם שרתים שלא מאפשרים shorttags).

המסקנה היחידה לפי דעתי, שאתה אומר את זה בפורמט UTF8 WITH BOM, או משהו דומה. תשמור את זה כ-UTF8 רגיל, אם זה כך.

http://www.sorya.vhost.co.il/class/AjaxCode.php

הנה הכתובת ...
תראו בעצמכם...

Daniel 18-04-08 10:48

ציטוט:

נכתב במקור על ידי hi_sorie (פרסם 625219)
http://www.sorya.vhost.co.il/class/AjaxCode.php

הנה הכתובת ...
תראו בעצמכם...

הדף בקידוד UTF, אז הבעייה היא כנראה כמו שאמרתי - BOM.

באיזה עורך אתה משתמש?

WebProject 18-04-08 10:53

ציטוט:

נכתב במקור על ידי MasterT (פרסם 625222)
הדף בקידוד UTF, אז הבעייה היא כנראה כמו שאמרתי - BOM.

באיזה עורך אתה משתמש?

סביר להניח שבNOTEPAD או משהו דומה, אם כן, השתמש בZEND או עורך כלשהו אחר מתקדם שמכליל את אפשרויות UTF WITH BOM ואז תוכל לראות את הבעיה שנוצרת ולמחוק את התווים שנכתבים בראש הדף.

hi_sorie 18-04-08 10:56

ציטוט:

נכתב במקור על ידי WebProject (פרסם 625225)
סביר להניח שבNOTEPAD או משהו דומה, אם כן, השתמש בZEND או עורך כלשהו אחר מתקדם שמכליל את אפשרויות UTF WITH BOM ואז תוכל לראות את הבעיה שנוצרת ולמחוק את התווים שנכתבים בראש הדף.

PHP Designer 2007 - Professional טוב ?
ומזה UTF WITH BOM ?

FreakBox 18-04-08 11:10

תוריד את הBOM בעזרת העורך Hex Editor

BOM זה הכמה אותיות ג'יבריש האלה שתראה בתחילת הקוד.

WebProject 18-04-08 11:11

אלה תווים שבעורך רגיל לא רואים, יש עורכים שתומכים בזה ואז אתה רואה את הקוד. זה מה שמשבש לך כנראה הכל. ואגב, אתה לא חייב לעבוד עם UTF, הדרך שכתבתי תפתור את הבעיות.


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

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