フォームから入力した文字を
$myvalue["kana_mei"] = mb_convert_encoding($_POST["kana_mei"], "SJIS");
でSJISに変換し、
$sStr = $val["kana_mei"];
$sAllowedChars ="あいうえおぁぃぅぇぉかきくけこがぎぐげごさしすせそざじずぜぞたちつってとだぢづでどはひふへほばびぶべぼぱぴぷぺぽまみむめもなにぬねのらりるれろやゆよゃゅょわをんー ";
($sAllowedChars, "SJIS");
If(mb_strlen($sStr) > 0 )
{
for ($i=0;$i<mb_strlen($sStr);$i++)
{
$sStr1= mb_substr($sStr,$i,1);
if(!is_integer(mb_strpos($sAllowedChars,$sStr1)))
{
$err_msg["kana_mei"] = "※ひらがなでご記入ください。";
}
}
}
でひらがなチェックを行っています。
IE6.0 IE7.0 では、問題ないのですが、MAC IE5.0 Fireworksでは、
mb_substr()で”Warning: mb_strpos(): Unknown encoding or conversion error”となってしまいます。
PHPのバージョンは、4.4.2です。
何方か、対処方法、教えて下さい。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
> ($sAllowedChars, "SJIS");
この行が宙に浮いてしまっていて、何をしているのか
よくわからないのですけれど…。
正しく動いているスクリプトを貼り付けていますか?
ありがとうございました。
内部エンコードの不一致が原因でした。
比較部分のスクリプトを変更することで解決しました。
if($val["kana_mei"] != ''){
mb_regex_encoding("SJIS");
if (!mb_ereg("^[あ-ん ]+$", $val["kana_mei"])) {
$err_msg["kana_mei"] = "※ひらがなでご記入ください。<BR>";
}
}
No.3
- 回答日時:
mb_strposで第三引数と第四引数を省略されていますが、
内部文字エンコーディングと、実際に使っているエンコーディングとの
つじつまは合っているのでしょうか?
警告のメッセージ内容からすると、エンコーディングに絡んだ
問題のような気がするのですが…
別サーバーに移行して確認するとエラーが解消されました。
PHP.iniのエンコード設定が原因と思います。
エラーを起こしたサーバーのルート権限を持っていない為
確認が出来ませんでしたが、解決しました。
ありがとうございました。
No.2
- 回答日時:
連想配列$myvalueと$valは別物ですか?それとも、実際は同一ですか?
この際ですから、スクリプトの全容をコピー&ペーストしてくださると、
どんなことをなさりたいかが万人に正しく伝わるように思います。
この回答への補足
スクリプトは、以下の通りです。
<?php
Session_Start();
require_once( './path.inc');
require_once("./inc/include.inc");
require_once("./view/recruit.inc");
$chk = 0;
if($_POST["isPost"]=="1"){
// get value
$_SESSION["message_val"] = get_myinput();
//check
$err_msg = check_myinput( $_SESSION["message_val"]);
if(!$err_msg)
{
//redirect to confirm page
print "<script language='javascript'>document.location.href='recruit_check.php'</script>";
exit;
}
}
display_body($_SESSION["message_val"], $err_msg);
function get_myinput()
{
$myvalue["kana_mei"] = mb_convert_encoding($_POST["kana_mei"], "SJIS");
return $myvalue;
}
//*****************check form valid*******************
function check_myinput($val){
$chk = 0;
$tmpmsg=checkinput($val["kana_mei"],"ご氏名(かな)をご記入ください。", 1);
if($tmpmsg){
$err_msg["kana_mei"] = "※空欄です。";
}
$sStr = $val["kana_mei"];
$sAllowedChars ="あいうえおぁぃぅぇぉかきくけこがぎぐげごさしすせそざじずぜぞたちつってとだぢづでどはひふへほばびぶべぼぱぴぷぺぽまみむめもなにぬねのらりるれろやゆよゃゅょわをんー ";
($sAllowedChars, "SJIS");
If(mb_strlen($sStr) > 0 )
{
for ($i=0;$i<mb_strlen($sStr);$i++)
{
$sStr1= mb_substr($sStr,$i,1);
if(!is_integer(mb_strpos($sAllowedChars,$sStr1)))
{
$err_msg["kana_mei"] = "※ひらがなでご記入ください。";
}
}
}
return $err_msg;
?>
宜しくお願いします。
ありがとうございました。
内部エンコードの不一致が原因でした。
比較部分を
if($val["kana_mei"] != ''){
mb_regex_encoding("SJIS");
if (!mb_ereg("^[あ-ん ]+$", $val["kana_mei"])) {
$err_msg["kana_mei"] = "※ひらがなでご記入ください。<BR>";
}
}
と変更することで解決できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SJISで取得した半角カナをUTF-8...
-
【PHP】mb_convert_encoding...
-
phpMyAdmin内での文字化け
-
SJIS→UTF-8変換後の文字化けに...
-
PHP+Postgres 「髙」が文字化け
-
文字化け変換方法
-
htmlはSJIS PHPはEUC mb_conv...
-
自動返信メールへの画像添付
-
mb_regex_encodingでエンコード...
-
mb_convert_encoding で 一部の...
-
マルチバイト文字の大文字、小...
-
PHPのsendmailでの文字化けにつ...
-
UTF8メールがLotus Notesで文字...
-
【PHP】半角「\\」を全角「...
-
imodeメールのSubject部分の文...
-
よく、書式で出てくる ○○ ( ○○,...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
メッセージボックスで1025文字...
-
C++でのCRLFについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化け変換方法
-
SQL Serverで文字コードUTF-8
-
PHPmailerでの添付ファイルの文...
-
SJISで取得した半角カナをUTF-8...
-
UTF8メールがLotus Notesで文字...
-
RSSを取得すると文字化けする。
-
「あ」→「82A0」のようにshift-...
-
【PHP】mb_convert_encoding...
-
メールのCCに複数のアドレスを...
-
postの文字化け防止について
-
PHP+Postgres 「髙」が文字化け
-
SJIS→UTF-8変換後の文字化けに...
-
記号だけの文字化け対応について
-
phpMyAdmin内での文字化け
-
送信したメールのタイトルが無...
-
phpのメールフォームの完了画面...
-
SJISからUTFに変換して...
-
sjisの文字化けとその対処方法...
-
メール題名の文字化け
-
セッションが文字化け、エンコ...
おすすめ情報