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

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

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

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Smarty

Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

Q&A

解決済

2回答

5147閲覧

Smartyにおける文字化けについて

dcf

総合スコア20

PHP

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Smarty

Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

0グッド

0クリップ

投稿2019/05/27 11:19

編集2019/05/28 02:38

前提・実現したいこと

以前phpを用いて作成した掲示板をsmartyを用いてhtmlとphpに分離したいのですが、文字化けが発生してしまったため、解決法をお教え願いたいです

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

文字化けが発生してしまっています
以下がキャプチャ画像で、ブラウザの上下はトリミングしてあります
キャプチャ画像

該当のソースコード

文字数制限のためhead部分のみ記述します
以前作成したコード(a.phpとします)が以下です

php

1<!DOCTYPE html> 2<html lang = “ja”> 3<head> 4 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> 5 <title>掲示板</title> 6</head> 7<body> 8<?php 9?> 10</body> 11</html>

smartyで分離した後のコード(b.php, b.tpl)が以下です

php

1<?php 2 a.phpと同様 3?>

tpl

1{* Smarty *} 2<!DOCTYPE html> 3<html lang = “ja”> 4<head> 5 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> 6 <title>掲示板</title> 7</head> 8<body> 9</body> 10</html>

試したこと

メモ帳などでファイル自体(b.php, b.tpl)の文字コードを確認したところ、UTF-8でした

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

単にphp部分とhtml部分を別ファイルにしたため、コードそのものは全く書き換えておりません

バージョンはPHP 5.2.4

FTPソフトでファイルをアップロードしてブラウザでアクセスして実行するという流れで作業しています

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/05/27 11:26

ファイルごとのエンコーディングは、しっかり統一されていますか?
dcf

2019/05/27 11:36

全てUTF-8になっています
CHERRY

2019/05/27 11:47

メモ帳とかかれていますが、メモ帳はBOM付きUTF-8 で保存されるので、不具合が起きる場合があります。 メモ帳以外で保存することは可能ですか?
dcf

2019/05/27 12:18

現在、VScodeを用いて開発しています VScodeで作成したファイルをメモ帳で開いて名前を付けて保存を選択するとデフォルトの文字コードがUTF-8になっていたため、ファイルの文字コードがUTF-8であると判断しました メモ帳以外ではどのようなソフトで保存するのが適切なのでしょうか? 質問で返してしまい申し訳ございません
m.ts10806

2019/05/27 14:07

「文字化け」と言いますが、どういう表示になっているのでしょうか。 中にはURLエンコードだけだったりするものを「文字化け」と勘違いしてしまう人もいます。 画面キャプチャなど状況が分かる情報をご提示ください。
dcf

2019/05/28 04:04

画面キャプチャを追加致しました
guest

回答2

0

自己解決

https://wepicks.net/phpref-tech_smarty3/
こちらのサイトの通りに実行したところ無事に解消されました
アドバイスしていただいた皆さん、ありがとうございました

投稿2019/05/29 14:33

dcf

総合スコア20

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

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

0

気休めですが、Smarty のキャッシュを消してみたら?

投稿2019/05/27 13:56

takasima20

総合スコア7458

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

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

dcf

2019/05/28 02:29

回答ありがとうございます smartyのcacheフォルダを確認したところ空でした
takasima20

2019/05/28 13:07

ということは、Smarty のセットアップが足りないのかも?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問