macを使用していて、xamppをインストールしましたが文字化けします。
php.iniファイルは、参考書をもとに以下の書き換えを行いました。
output_handler = mb_output_handler
default_charset = UTF-8
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.substitute_character = none;
date.timezone = Asia/Tokyo
今回実装したいのは、始めにhtmlファイルを開き、テキストを入力して「送信」ボタンを押すことで、「○○(テキスト入力文字)さん、こんにちは」とphpファイルで処理した結果を表示したいと考えています。
「htdocs」ファイルの中に「PHPテスト」というファイルを作り、その中にテキストエディットで作成した「input.html」と「message.php」というファイルを保存しました。
input.htmlファイルは以下の記述をしています。
html
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset='UTF-8' /> 5 <title>sample</title> 6</head> 7 8<body> 9 <form method = "POST" action = "message.php"> 10 <input name = "name" type = "test"> 11 <input type = "submit" value = "送信"> 12</form> 13</body> 14</html>
message.phpには以下の記述をしました。
php
1 2<?php 3print $_POST['name']; 4print 'さん、こんにちは'; 5?>
サファリを使って、http://localhost//PHPテスト/input.htmlにつなぐと、何故かテキスト入力が二つ出てきて一つに文字化けした文字が入っています。
送信ボタンがテキスト入力になっているのに加え、文字化けはどのようにすれば通常に動作しますか?
[追記]
htmlファイル保存方法は画像のように「標準テキストのエンコーディング」を「Unicode(UTF-8)」に設定しています。
送信ボタンが入力テキストになっているという問題は
typeやvalueなどを囲っている『"』←コレが『“』←このようになっていたので、書き換えるとボタンになりました。
見にくいですが、今までが↓こうなっていて
↓このように書き換えると上手く出来ました。
しかし、正しい方の記号をコピペするとうまくいくのですが、何故か『Shift』+『2』を押して自分で打つと一瞬正しい記号で表示されますがすぐにちょっと斜めになった実装できない方の記号になってしまいます。また、コピペした記号のすぐ隣で文字を打っても記号が変形し、実装できない方の記号になってしまいます。
何か入力の設定がおかしいのでしょうか?
ちなみに『input.html』で表示される画面とソースは以下画像です。
追記2
htmlファイルの『<meta charset='UTF-8' />』のUTF-8を囲っている記号を削除し
『<meta charset=UTF-8 />』このように記述すると無事実行されました!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/12/02 18:35
退会済みユーザー
2015/12/02 19:19