Is your editor set to iso-8859-8/windows-1255? Sometimes things try and be clever if you copy and paste content from one source to another.
Like I copy something from a Windows Latin-1 form into a firefox utf-8 form it gets converted. Testing the second script I am copying from a utf-8 source into the windows-1255 form and it is sent fine. Some things do not convert like a lot of editors that claim to do UTF-8 etc but have trouble to convert from a regional character set. JEdit does it fine though.
This form( the PHPBuilder one is Latin-1 ) displays your hebrew fine. There is also the issue that you have to refer to things as windows-1255 and not iso-8859-8. IE completely balks at iso-8859-8 and you have to use windows-1255. Same for mail clients. If you have Firefox and point it to http://www.msn.co.il/hotmail/ and look at page info you will see it is windows-1255( Firefox on Mac as well).
Though if you want to use mb_convert_encoding you have to use ISO-8859-8.
Easiest way to test.
<?
header('Content-Type: text/html; charset=windows-1255');
echo "הזמנת מוצרים";
?>
Do you see it or just get "?????". I can see it in my editor but not by browser. If you cannot see it in you browser then it will not send okay whatever you do.
<?
header('Content-Type: text/html; charset=windows-1255');
/*echo "הזמנת מוצרים";
echo "Moo";*/
if( isset( $_POST['email_text'] ) )
{
$headers = 'From: me@me.net' . "\n"
. 'MIME-Version: 1.0' . "\n"
. 'Content-type: text/html; charset=windows-1255' . "\n";
$email_recipients = array( 'user@outlook.account' , 'user@googlemail.com' );
foreach ( $email_recipients AS $email_recipient )
{
mail( $email_recipient , $_POST['email_text'] ,$_POST['email_text'], $headers , "");
}
echo $_POST['email_text'] . "<br/>";
}
?>
<html>
<body>
<form method="post">
Text to send<br/>
<textarea name="email_text"></textarea>
<br/>
<input type="submit" value="send"/>
</form>
</body>
</html>
Is tested and works fine. Google upcasts it to UTF-8. Outlook keeps it as Hebrew.
What is the actual originating encoding of the info in the database and what encoding header are you sending when capturing info for the database as it will probably give you issues? If you have UTF-8 capability it is best to use that and then use mb_convert_encoding to regionalise for emails etc if you have to.