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

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

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

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

Q&A

解決済

1回答

2963閲覧

MAMPでPHP7.1.12を実行するも文字化けしてしまいます

aragakiyui

総合スコア10

PHP

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

0グッド

0クリップ

投稿2018/04/23 15:57

前提・実現したいこと

PHPで簡単な掲示板を作っています。
MAMPで自分のパソコンで動作確認したいのです。

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

エラーメッセージは文字化けしています。

例えばこうです。
http://localhost/keijiban.php
これを実行すると

bookmark88�ge��VF�A�( ApplicationsMAMPconfapache keijiban.php$0<�L=��������������|����A�E�V�kb file:/// Macintosh HD3A�G[�$7E73CBB0-25CD-3609-9EA7-62372A7FC51A���/NSURLDocumentIdentifierKey�3dnibphp????�������@� �  0 d D T �0 ���L"�����

### 該当のソースコード <html> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <head><title>PHP TEST</title></head> <meta charset="shift_jis" /> <body> <p>掲示板</p> <form method="POST" action="<?php print($_SERVER['PHP_SELF']) ?>"> <input type="text" name="personal_name"><br><br> <textarea name="contents" rows="8" cols="40"> </textarea><br><br> <input type="submit" name="btn1" value="投稿する"> </form> <?php if($_SERVER["REQUEST_METHOD"] == "POST"){ writeData(); } readData(); function readData(){ $keijban_file = 'keijiban.txt'; $fp = fopen($keijban_file, 'rb'); if ($fp){ if (flock($fp, LOCK_SH)){ while (!feof($fp)) { $buffer = fgets($fp); print($buffer); } flock($fp, LOCK_UN); }else{ print('ファイルロックに失敗しました'); } } fclose($fp); } function writeData(){ $personal_name = $_POST['personal_name']; $contents = $_POST['contents']; $contents = nl2br($contents); $data = "<hr>¥r¥n"; $data = $data."<p>投稿者:".$personal_name."</p>¥r¥n"; $data = $data."<p>内容:</p>¥r¥n"; $data = $data."<p>".$contents."</p>¥r¥n"; $keijban_file = 'keijiban.txt'; $fp = fopen($keijban_file, 'ab'); if ($fp){ if (flock($fp, LOCK_EX)){ if (fwrite($fp, $data) === FALSE){ print('ファイル書き込みに失敗しました'); } flock($fp, LOCK_UN); }else{ print('ファイルロックに失敗しました'); } } fclose($fp); } ?> </body> </html> ### 試したこと https://qiita.com/redamoon/items/28e7bbe1ccbf58cbbd04 これに従ってやりましたが まだ文字化けしてしまいます。 http://localhost/keijiban.php ポートも80にあけています。 どなたかよろしくご教授ください

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

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

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

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

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

m.ts10806

2018/04/23 23:54

既に解決されているように見受けられますが「受付中」となっています。ベストアンサーを選んで「解決済み」としてください。
guest

回答1

0

ベストアンサー

https://qiita.com/redamoon/items/28e7bbe1ccbf58cbbd04

こちらのサイトに従って環境設定を行っている場合、文字コードは「UTF-8」となります。
ソースコード内でshift-jisとしている箇所をutf-8としてみてください。

また、ソースコードファイル自体もUTF-8で保存してください。

投稿2018/04/23 16:14

takyafumin

総合スコア2335

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

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

aragakiyui

2018/04/23 20:14

エディッタが悪かったみたいです。 当方macなのでMIと言うソフトを使ってみたら できました。 あと、UTF−8にしたらできました。 すごい悩んでいたので助かりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問