xxhiroxx_chanと申します。
Apache+PHP+SQLServerでWEBページを開発したのですが、
DBにブラウザからの入力データを登録する際に時々文字化けが発生し、
対策方法がわかりません。
WEBサーバがLinuxでの開発はほぼ初心者です。
対策方法を教えてください。
よろしくお願いいたします。
具体的な環境は以下です。
■WEBサーバ
・CentOS ※バージョン不明
(※curl Host x86_64-redhat-linux-gnu)
・Apache2 ※「.」以下のバージョン不明
(※Apache API Version 20051115)
・PHP5.3.3
■データベース
・Windows Server 2012 R2 64bit OS
・SQLServer2014
またPHP.iniのmbstringは、以下の通りです。
mbstring.detect_order auto
mbstring.encoding_translation On
mbstring.func_overload 0
mbstring.http_input auto
mbstring.http_output SJIS
mbstring.http_output_conv_mimetypes ^(text/|application/xhtml+xml)
mbstring.internal_encoding EUC-JP
mbstring.language Japanese
mbstring.strict_detection Off
mbstring.substitute_character no value
ブラウザ上にShift-JISで入力された文字列を
EUC-JPのphpファイル内でにて、
(1)Shift-JISにエンコード
(2)SQLServerにデータを格納。
を行っています。
コードの一部は以下のようなものです。
//文字コードをSJISへ変換------------------------------
function convStringtoSJIS($string) {
//文字コードを変更 $string = mb_convert_encoding($string,"SJIS","EUC-JP"); //[\]を取り除く $string = stripslashes($string); //HTMLタグを除去する $string = htmlspecialchars($string,ENT_QUOTES); return $string;
}
//--------------------------------------------------
//--------------------------------------------------
・・・・・
$inputname = convStringtoSJIS($_POST['inputname']);
$inputml = convStringtoSJIS($_POST['inputml']);
$subject = convStringtoSJIS($_POST['subject']);
$message = convStringtoSJIS($_POST['message']);
$url = convStringtoSJIS($_POST['url']);
$title = convStringtoSJIS($_POST['title']);
$inputdatetime = date("Y/m/d H:i:s");
//データを登録
$sql = "
INSERT INTO dbo.T_Kiji (
KijiNo,
KijiSubNo,
InputID,
InputName,
InputML,
Subject,
Message,
URL,
InputDate, InputTime
) VALUES (
'$kijino',
'$kijisubno',
'$inputid',
'$inputname',
'$inputml',
'$subject',
'$message',
'$url',
'$inputdate',
'$inputtime')";
$rs = mssql_query($sql);
・・・・・
//--------------------------------------------------
例えば、以下のように文字化けします。
「
お忙しい中垂オ訳ございませんが、再度ご調整くださり
会の開催がかないますよう、どうぞよろしくお願いいたします。
このたびも下記URLより、可狽ネ日程に○をつけてください。
」
以上、どうぞよろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/07 07:20
2015/12/07 07:28
2015/12/07 08:53