Well, japanese as a multibyte encoded language has quite a few quirks.
First of all, be sure that your server has the mbstring module installed.
Second, to reduce the chances of possible breakage midway, try to keep all encodings in your site/project consistent: site views and source files should ideally be written with the same encoding.
Specifically for your problem, you might want to try using the following functions:
mb_http_input
http://www.php.net/manual/en/function.mb-http-input.php
This one will make sure your HTTP input is correctly encoded (ie. form data).
mb_ internal_ encoding
http://www.php.net/manual/en/function.mb-internal-encoding.php
Sets the internal encoding used by PHP.
mb_regex_encoding
http://www.php.net/manual/en/function.mb-regex-encoding.php
Sets the encoding used by PHP for regexes.
mb_convert_encoding
http://www.php.net/manual/en/function.mb-convert-encoding.php
For String conversion.
mb_convert_variables
http://www.php.net/manual/en/function.mb-convert-variables.php
Converts encodings of a whole batch of strings/arrays.
Edit: besides, from the name of the module, you might want to try feeding JIS encoded data to the function.