質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

628閲覧

PHPメ-ルフォーム

poketatsu

総合スコア19

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2022/07/31 07:39

編集2022/07/31 07:58

前提

xamppを使いMysqlに登録までできたのですが、Mysqlで表示すると文字化けを起こしてしまいます

実現したいこと

Mysqlに登録はできたので、文字化けを直したいです。

発生している問題・エラーメッセージ

イメージ説明

該当のソースコード

<?php session_start(); $name = htmlspecialchars(validateData("name"),ENT_QUOTES); $mail = htmlspecialchars(validateData("mail"),ENT_QUOTES); $seibetsu = htmlspecialchars(validateData("seibetsu"),ENT_QUOTES); $textarea = htmlspecialchars(validateData("textarea"),ENT_QUOTES); $tel = htmlspecialchars(validateData("tel"),ENT_QUOTES); $yuubin = htmlspecialchars(validateData("yuubin"),ENT_QUOTES); $region = htmlspecialchars(validateData("region"),ENT_QUOTES); $locality = htmlspecialchars(validateData("locality"),ENT_QUOTES); $banti = htmlspecialchars(validateData("banti"),ENT_QUOTES); $pdo = new PDO('mysql:charset=utf8;dbname=basic;host=localhost', 'abcde', 'password'); $stmt = $pdo->prepare("INSERT INTO form ( seibetsu,name, tel, yuubin,region,locality,banti,textarea ) VALUES ( :seibetsu,:name, :tel, :yuubin,:region,:locality,:banti,:textarea )"); $stmt->bindParam( ':seibetsu', $seibetsu, PDO::PARAM_STR); $stmt->bindParam( ':name', $name, PDO::PARAM_STR); $stmt->bindParam( ':tel', $tel, PDO::PARAM_STR); $stmt->bindParam( ':yuubin', $yuubin, PDO::PARAM_STR); $stmt->bindParam( ':region', $region, PDO::PARAM_STR); $stmt->bindParam( ':locality', $locality, PDO::PARAM_STR); $stmt->bindParam( ':banti', $banti, PDO::PARAM_STR); $stmt->bindParam( ':textarea', $textarea, PDO::PARAM_STR); $res = $stmt->execute(); $pdo = null; // メールアドレスをバリデーション if(!filter_var($mail, FILTER_VALIDATE_EMAIL)){ $_SESSION['error_mail'] = 1; } // 入力がどこかミスったらform.phpにとばされる if($_SESSION['error_name'] || $_SESSION['error_mail'] || $_SESSION['error_seibetsu'] || $_SESSION['error_textarea'] || $_SESSION['error_tel'] || $_SESSION['error_yuubin'] || $_SESSION['error_region'] || $_SESSION['error_locality'] || $_SESSION['error_banti']){ header("Location: ./form.php"); exit(); } function validateData($key){ if(is_null($_POST["$key"]) || empty($_POST["$key"]) || !is_string($_POST["$key"])){ $_SESSION["$key"] = $_POST["$key"]; $_SESSION["error_" . $key] = 1; return ""; }else{ $_SESSION["$key"] = $_POST["$key"]; $_SESSION["error_" . $key] = 0; return $_POST["$key"]; } } ?> <!-- --> ! <!DOCTYPE HTML> <html> <head> <meta charset='UTF-8'> <title>確認画面</title> <style type="text/css"> *{ padding: 0; margin: 0; } .icon2{ /* margin-top:200px; */ width: 200px; margin-left: 400px; } .contents_box{ width: 400px; height: 150px; background-color: aquamarine; overflow: scroll; } .kakunin{ text-align:center; } .hensuu{ border: double 5px; font-size:20px; font-weight:bold; width: 700px; height: 800px; background-color:#f5deb3; /* text-align:center; */ margin:0 auto; } .btn{ text-align: center; margin-top:50px; } .sousin{ width:100px; } .modoru{ width:100px; } .hyouji{ margin-top:0; margin-left:200px; overflow: scroll; } body{ } footer{ position: fixed; bottom: 0; background-color: darkcyan; width: 100%; text-align: center; color: darkgray; padding: 20px 0; font-size: 30px; } </style> </head> <body> <div class="hensuu"> <img src="アンケート.png" class="icon2"> <h1 class="kakunin">確認</h1> <div class="hyouji" > <span>名前: <?php echo $name; ?> </span> <br> <span>性別: <?php echo $seibetsu; ?> </span> <br> <span>電話番号: <?php echo $tel; ?> </span> <br> <span>郵便番号: <?php echo $yuubin; ?> </span> <br> <span>都道府県: <?php echo $region; ?> </span> <br> <span>地区町村: <?php echo $locality; ?> </span> <br> <span>町名番地: <?php echo $banti; ?> </span> <br> <span>メール: <?php echo $mail; ?> </span> <br> <span>感想:<br> <?php echo nl2br($textarea); ?> </span> <br> </div> <form action='http://localhost/basic/complete.php' method='POST'> <div class="btn"> <!-- <input type='hidden' name='name' value="<?php echo $_POST['name']; ?>"> <input type='hidden' name='seibetsu' value="<?php echo $_POST['seibetsu']; ?>"> <input type='hidden' name='tel' value="<?php echo $_POST['tel']; ?>"> <input type='hidden' name='yuubin' value="<?php echo $_POST['yuubin']; ?>"> <input type='hidden' name='region' value="<?php echo $_POST['region']; ?>"> <input type='hidden' name='locality' value="<?php echo $_POST['locality']; ?>"> <input type='hidden' name='banti' value="<?php echo $_POST['banti']; ?>"> --> <!-- <input type='hidden' name='mail' value="<?=$csrf_token?>"> --> <!-- <input type='hidden' name='mail' value="<?php echo $_POST['mail']; ?>"> <input type='hidden' name='textarea' value="<?php echo $_POST['textarea']; ?>"> --> <!-- <input type='hidden' name='name' value="'.$name.'"> <input type='hidden' name='seibetsu' value='.$seibetsu.'> <input type='hidden' name='tel' value='.$tel.'> <input type='hidden' name='yuubin' value='$yuubin'> <input type='hidden' name='region' value='&region'> <input type='hidden' name='locality' value='$locality'> <input type='hidden' name='banti' value='$banti'> <input type='hidden' name='mail' value='$mail'> <input type='hidden' name='textarea' value='$textarea'> --> <input type='button' class="modoru" onclick='history.back()' value='戻る'> <input type='submit' class="sousin" value='送信'> </div> </div> </br> </br> </form> <footer> <p>&copy;2022 aiueo</p> </footer> </body> </html>

試したこと

default-charsetなどをutf8にしました。
databaseのところだけutf8にならなかったです。
イメージ説明

補足情報(FW/ツールのバージョンなど)

お手柔らかにお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

コマンド・プロンプト上でコマンドを叩いているのでしたら、
chcp | Microsoft Docs
コード ページ識別子 - Win32 apps | Microsoft Docs
chcp(チェンジ・コードページ?)コマンドで

chcp 65001

とすることで、UTF-8の出力を表示することができるようになります。
元に戻すには

chcp 932

でシフトJISに戻します。

投稿2022/08/01 00:24

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

Windowsのコマンドプロンプト上の表示は信じない方が良いです。
HTMLの表示と同じですが、宣言とツール自体の文字コードが合致してない状態だから化けています。

XAMPP入れられているならphpMyAdminがあるのでそちらか、
クライアントツールでDB内容の確認してください。

投稿2022/07/31 08:04

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poketatsu

2022/07/31 08:34

phpmyadminでみたらちゃんと文字化けせず表示されていました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問