カタカナ「ソ」を送ると¥がつき文字化けします・・・。 - PHPプロ!Q&A掲示板
キーワード / カタカナの文字化け  
検索してみたらPOSTされた値をmb_convert_encodingしろとあったのですが
修正できませんでした・・・。
どうすれば修正できるのでしょうか
お手数おかけいたしますがご教授頂けますと助かります。
修正できませんでした・・・。
どうすれば修正できるのでしょうか
お手数おかけいたしますがご教授頂けますと助かります。
- <html>
- <head>
- <title>メモ</title>
- <link rel="stylesheet" type="text/css" href="style.css" />
- </head>
- <body>
- /*//////////////////////////////////////////////////////////////////////
- プロジェクト名:
- 機能:
- 概要:
- ========================================================================
- 変更履歴:
- 日付 氏名 Ver 変更理由
- 2009/12/23 斉藤 0.00 初版
- //////////////////////////////////////////////////////////////////////*/
- $mode = 'select';
- if(isset($_GET['mode']) && $_GET['mode'] != '') $mode = $_GET['mode'];
- $file_name = '';
- if(isset($_GET['file_name']) && $_GET['file_name'] != ''){
- $file_name = mb_convert_encoding($_GET['file_name'],'EUC-JP','SJIS');
- $file_name = mb_convert_encoding($file_name,'SJIS','EUC-JP');
- $file_name = 'memo/'.$file_name;
- }
- //
- $dir = './memo/';
- // 既知のディレクトリをオープンし、その内容を読み込みます。
- $name_array = array();
- $count = 0; //
- // 指定している階層のファイル名を全て取得
- if (is_dir($dir)) {
- if ($dh = opendir($dir)) {
- while (($file = readdir($dh)) !== false) {
- if(substr($file,0,1) != '.' && $file != basename($_SERVER['SCRIPT_NAME'])){
- $name_array[$count] = $file; // ファイル名の取得
- $count++; // カウンタの+
- }
- }
- closedir($dh);
- }
- }
- // ファイルから読み込み
- switch($mode){
- case 'select':
- print '<table border="1">';
- print '<tr>';
- print '<th>No</th>';
- print '<th>ファイル名</th>';
- print '<th>編集</th>';
- print '<th>削除</th>';
- print '</tr>';
- for($i=0;$i<$count;$i++){
- $num = $i+1;
- print '<tr>';
- print '<td>'.$num.'</td>';
- print '<td><a href="memo.php?file_name='.$name_array[$i].'&mode=output">'.$name_array[$i].'</a></td>';
- print '<form method="get" action="">';
- print '<td><input type="submit" value="編集"></td>';
- print '<input type="hidden" name="mode" value="edit">';
- print '<input type="hidden" name="file_name" value="'.$name_array[$i].'">';
- print '</form>';
- print '<form method="get" action="">';
- print '<td><input type="submit" value="削除"></td>';
- print '<input type="hidden" name="mode" value="delete">';
- print '<input type="hidden" name="file_name" value="'.$name_array[$i].'">';
- print '</form>';
- print '</tr>';
- }
- print '</table>';
- break;
- case "output":
- $memo_array = @file($file_name) or die("ファイルが開けません");
- foreach ($memo_array as $key=>$value){
- $memo_array[$key] = trim($value);
- print htmlspecialchars($memo_array[$key]).'<br>';
- }
- break;
- case "edit":
- $memo_array = @file($file_name) or die("ファイルが開けません");
- $memo = "";
- foreach ($memo_array as $key=>$value){
- $memo_array[$key] = trim($value);
- $memo .= htmlspecialchars($memo_array[$key])."\r\n";
- }
- print '<strong>ファイル名</strong><br>'.$file_name.'<br><br>';
- print '<strong>本文</strong><br><textarea name="edit_memo" cols="100" rows="30">'.$memo.'</textarea>';
- break;
- case "edit_preview":
- print '<font color="#ff0000">'.$file_name.'を編集しました。<br></font>';
- print '<a href="memo.php">メモ一覧へ</a>';
- break;
- case "delete":
- print '<form method="get" action="">';
- print '<font color="#ff0000">'.$file_name.'を削除しますか。</font>';
- print '<input type="submit" value="削除">';
- print '<input type="hidden" name="mode" value="delete_preview">';
- print '<input type="hidden" name="file_name" value="'.$file_name.'">';
- print '</form><br>';
- print '<a href="memo.php">メモ一覧へ</a>';
- break;
- case "delete_preview":
- unlink($file_name);
- print '<font color="#ff0000">'.$file_name.'を削除しました。<br></font>';
- print '<a href="memo.php">メモ一覧へ</a>';
- break;
- /*
- $fp = @fopen($path,"a+") or die("登録できませんでした。");//読み書きモードでオープン
- rewind($fp); //ポインタを先頭に、ロックして書き込み
- fputs($fp, $text);
- fclose($fp); //ファイルを閉じる
- */
- }
- </body>
- </html>
この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。




ページのトップへ


まずは配列や文字列の扱いから、じっくり勉強して行きましょう。