iconv( "UTF-8", "gb2312//IGNORE" , $FormValues['a'])
ignore は、変換中のエラーを無視することを意味します。 iconv が文字 "—" を gb2312 に変換していることが判明しました。無視パラメータがない場合、この文字に続くすべての文字列は保存できません。
さらに、mb_convert_encoding にはこのバグがないため、次のように記述するのが最適です:
mb_convert_encoding($FormValues['a'], "gb2312", "UTF-8") );
ただし、最初に mbstring 拡張ライブラリを有効にする必要があります。
mysql データベースの照合順序を utf-8 に設定し、変換に使用しないこともできます。