iPhoneの絵文字や漢字の一部は4バイトのUTF-8の文字となり、mysqlのバージョンによっては保存できません。 文字列にUTF-8の範囲を超える文字が存在するかは以下のようなコードで確認できます。
Stirng str; //確認する文字列 Pattern pattern = Pattern.compile("[\\u0000-\\uFFFF]*"); Matcher m = pattern.matcher(str); if(!m.matches()){ //UTF-8の範囲を超える文字が存在する }