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

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

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

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

Q&A

解決済

2回答

256閲覧

php 5.6.40で文字化けしてしまう

yoheiiii

総合スコア88

PHP

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

0グッド

0クリップ

投稿2023/06/09 01:01

実現したいこと

文字化けせず表示させたい。

前提

わけあってphp 5.6.40を使用しており、
コード内に文字をいれると文字化けしてしまうので
文字化けせず表示させたい。

該当のソースコード

<?php class Application { public static function run(){ $discrimination = '対象あり'; var_dump($discrimination); exit; } }

結果
string(12) "蟇セ雎。縺ゅj"

試したこと

php.iniのdefault_charset = "UTF-8"をdefault_charset = ""
に変更しましたが駄目でした。

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

PHP 5.6.40

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

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

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

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

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

guest

回答2

0

自己解決

$discrimination = mb_convert_encoding($discrimination, "sjis-win", "utf-8");

文字化けはなくなりました。

投稿2023/06/15 00:27

yoheiiii

総合スコア88

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

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

yambejp

2023/06/15 00:32

それはUTF8がSJISに無理やり解釈されてしまう本質的な解決になってないです。 フレームワークの問題であればきちんと環境を確認しないと後でハマるパターンですね
guest

0

headerを明示するとか

PHP

1<?php 2header('Content-Type: text/html; charset=UTF8'); 3class Application 4{ 5 public static function run(){ 6 $discrimination = '対象あり'; 7 var_dump($discrimination); 8 exit; 9 } 10} 11Application::run();

追加でmetaまで指定するとか

javascript

1<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 2<?php 3header('Content-Type: text/html; charset=UTF8'); 4class Application 5{ 6 public static function run(){ 7 $discrimination = '対象あり'; 8 var_dump($discrimination); 9 exit; 10 } 11} 12 13Application::run();

投稿2023/06/09 04:06

編集2023/06/09 04:25
yambejp

総合スコア115433

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

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

yoheiiii

2023/06/09 04:17

ご教授ありがとうございます。 header入れてみましたがそれでも駄目でした。
yambejp

2023/06/09 04:30 編集

metaの指示ではどうでしょう?追記しました ちなみに、この質問はこのソースだけで実行していますか?ほかに余計な記載がありますか? UTF8で書いてあるにも関わらず文字変更しようとするとそうなりますね print mb_convert_encoding('対象あり','UTF-8','SJIS');// 蟇セ雎。縺ゅj
yoheiiii

2023/06/09 04:46

metaの指示の指定も上手く行きませんでした。 余計な記載はないですが、このファイルの格納場所はLaravelフォルダに toolsと作ってそこに格納しております。
yambejp

2023/06/09 04:53

なんらかの理由でUTF8のデータをSJISからUTF8に強制変更している可能性があります。 とりあえずソースをSJISで保存してみるとかテスト方法はいくつかあるでしょう。 Laravelはなく生のPHPファイルで試してみてください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.42%

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

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

質問する

関連した質問