המרת טקסט מג'יבריש לעברית PHP - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

המרת טקסט מג'יבריש לעברית PHP


pssheba

Recommended Posts

שלום,

טקסט מג'יבריש לעברית אני ממיר כך:

<?php    $text = iconv("UTF-8","ISO-8859-1", "ãéðä");    echo $text;?>

וזה עובד. כאשר בדיוק אותה המחרוזת בג'יבריש נמצאת בקובץ טקסט, הענינים מסתבכים.

זה הקוד להמרה:

<?php    header('Content-Type: text/html; charset=windows-1255');     iconv -f -1255 -t UTF8 test.txt > converted.txt;    $myFile = 'test.txt';    $myHandle = fopen($myFile,'r');    $myText = fread($myHandle, filesize($myFile));    $ridComma = explode(',',$myText);    foreach($ridComma as $item)    {        $text = iconv("UTF-8","ISO-8859-1", $item);        echo $text;    }    fclose($myHandle);?>

וזו הודעת השגיאה שאני מקבל:

Parse error: syntax error, unexpected 'WINDOWS' (T_STRING) in C:\xampp\htdocs\test\test.php on line 3

מישהו יכול להסביר לי מדוע?

תודה

קישור לתוכן
שתף באתרים אחרים

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

זה נראה כאילו מצאת את השורה הזאת מאיזושהי דוגמה בגוגל (שדיברה על קריאה ישירה לסקריפט iconv דרך ה-shell) ועשית לה קופי פייסט בלי להבין כלכך מה אתה עושה...

http://php.net/manual/en/function.iconv.php

בלי קשר, למה אתה מנסה להמיר טקסט ל--1255? אתה תקוע בשנות ה-2000 ?

קישור לתוכן
שתף באתרים אחרים

נכון :-(

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

<?php

$myFile = 'test.txt';

$myHandle = fopen($myFile,'r');

$myText = fread($myHandle, filesize($myFile));

$ridComma = explode(',',$myText);

$text = iconv("UTF-8","ISO-8859-1", $item);

echo $text;

fclose($myHandle);

?>

אותה הודעת שגיאה מתקבלת רק בשורה 6 במקום בשורה 8 )-:

הבעיה היא שכאשר אני מציב את מחרוזת הג'יבריש בקוד, אני מקבל המרה לעברית אך אותו קוד בקובץ טקסט מוציא הודעת שגיאה !

מהתחקיר שביצעתי עולה שקובץ הטקסט נשמר לא נכון ! ב win7 יש לי 4 אפשרויות לשמירת טקסט ובכולן קיבלתי את הודעת השגיאה הזו. יש דרך להגדיל את מגוון האפשרויות לשמירת קובץ טקסט ב windows?

- - - תגובה אוחדה: - - -

כדי שלא ישאלו אותי למה אני מציב את המחרוזת בקובץ טקסט ;). לצורך מחרוזת בודדת די לי להציב את המחרוזת בקוד אך לצורך 250,000 שמות בעברית ששמרתי והפכו ל ג'בריש עלי להכניס את הפעולה ללולאה.

קישור לתוכן
שתף באתרים אחרים

יש דרך להגדיל את מגוון האפשרויות לשמירת קובץ טקסט ב windows?

כן, להשתמש בעורך נורמלי כמו Notepad++ או Sublime Text

אני שואל למה אתה לא שם קטע קוד בתוך טאגים של code בפורום כדי שנוכל להבין מה אתה עושה באמת.

קישור לתוכן
שתף באתרים אחרים

בפתיחת האשכול הצבתי את הקוד בין תגי קוד וכל האצווה יצאה לי שורה אחת. בנוסף ל 2 השורות המיותרות והלולאה המיותרת אף היא, לא הבנתי בעצמי מה העליתי :-(.

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

להבא אקפיד להעלות קוד בין התגים הנחוצים ואם הקשיתי עליך, עמך הסליחה.

notepad++ הינו הכתבן עימו אני עובד מעשה של יום יום. ניתן לשמור בו קוד לכל שפות המחשב המוכרות אך אינני מוצא בו אפשרות לשמירה בקידוד utf-8 או -1222 (לא דייקתי בשם הקידוד) ובודאי לא את אפשרויות קידוד המצויות במדריך של PHP. תוכל בבקשה להסביר לי איך שומרים קובץ טקסט בקידוד ISO-8859-1/ בהנחה שזו כוונת המחבר, היינו, ששמירת הטקסט באחד מסוגי הקידוד הללו ימנעו את הודעת השגיאה דעסקינן.

קישור לתוכן
שתף באתרים אחרים

א. העתקתי את הקוד שלך ממקודם ופשוט שמתי אותו בין CODE, בו נראה איך יוצא. כן, טוב, התוכנות פורום קצת דפוקה אבל סה"כ לא רע (יכולתי להעתיק קודם החוצה ואז לשים).

[RIGHT][COLOR=#333333]<?php[/COLOR]
[COLOR=#333333]$myFile = '[/COLOR][COLOR=#333333]test.txt[/COLOR][COLOR=#333333]';[/COLOR]
[COLOR=#333333]$myHandle = fopen($myFile,'r');[/COLOR]
[COLOR=#333333]$myText = fread($myHandle, filesize($myFile));[/COLOR]
[COLOR=#333333]$ridComma = explode(',',$myText);[/COLOR]
[COLOR=#333333]$text = iconv("UTF-8","ISO-8859-1", $item);[/COLOR]
[COLOR=#333333]echo $text;[/COLOR]
[COLOR=#333333]fclose($myHandle);[/COLOR]
[COLOR=#333333]?>[/COLOR][/RIGHT]


ב. אין לי כרגע NP++ מותקן, תעבור על כל התפריטים למעלה, באחד מהם יש לך מיליון אפשריות של המרות קידוד.

קישור לתוכן
שתף באתרים אחרים

כמו שהראו לך פה, תשמור את הקובץ ב-UTF-8 (without BOM) ותעיף לכל הרוחות את ההמרות המוזרות שאתה עושה שם.. זה מיותר לחלוטין, כבר שנים שהאינטרנט פשוט עובד ב-UTF-8 ואף אחד לא משתמש בשום קידוד אחר.

קישור לתוכן
שתף באתרים אחרים

תמיד עבדתי ב utf-8 עד שהסתבכתי עם נושא הקידוד ובאחד המדריכים היה כתוב בפירוש שהקידוד היחיד שעובד בעברית הוא -1122 (שכחתי את השם המדויק ואני מבין שאין טעם לטרוח..).

אני מאוד מודה לכם על הטרחה והמאמץ הכן לחלץ אותי מים המדריכים והעצות בהם הסתבכתי.

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...