i still don't know how to solve this...
here is what i know for now:
i did additional checks under same conditions:
i enter exactly the same text(in hebrew)...
* if use ie to submit form then file size is 25 bytes which is exactly one byte for character.. so it is not saved as utf-8.
* if use firefox to submit form then file size is 36 bytes and when i open it i see hebrew text...
so i think maybe when ie sees only hebrew and english text in form, it encodes it as ISO-8859-hebrew_charset...but firefox encodes the data always as utf-8...
i tried to run utf8_encode() on the input,thinking maybe php holds string in ISO-8859-hebrew_charset encoding, but then thing go wrong completely...
actualy utf8_encode() can handle only ISO-8859-1
and another test...
i went to php.net manual and looked in comments that people write.i found there a function seems_utf8() which checks if a string in UTF_8 or not...
so i ran this function on input from form that ie sends...the results were:
* if i write hebrew and russian then seems_utf8() returns true...so that means ie sent utf-8 encoded data.
* if i write ONLY hebrew then seems_utf8() return false, meaning that the data arrived as not UTF_8 but in some other encoding.
while firefox ALWAYS sends utf-8 encoded data...
so i really lost here...
it looks like php script depend on browser's mercy...!!!
also, i talked on php channel in mirc and someone there said that it's practicly impossible to make multilingual pages with php...but i'm not asking much...i need only utf-8 support
meanwhile i thougth about two solutions:
* first is to force browser to return data as utf-8...but i'm not sure it is really possible...
* and second, is to put hidden input element with hebrew and russian characters inside form(but with this approach i will have to enter character for each language).
i didn't tested the second solution but i think it will work almost for sure...
but this is all workarounds...
so maybe someone encoutered similar difficalties and knows how to overcome this problem?