6

私はPHPにまったく慣れていないので、ばかげた間違いを疑っています。同様の問題を抱えている人を探しましたが、見つかりませんでした。

だから私は( Smartyを介して)テンプレートからいくつかのHTMLを出力することになっているPHPファイルを持っています。ChromeでレンダリングされたHTMLを表示する代わりに、HTMLテキスト自体を表示します。これが私が使用しているPHPコードです:

<?php

header("Content-type: text/html; charset=utf-8");

ob_start();
include_once '../api/get_article.php';
$a_json = ob_get_clean();
$data = json_decode($a_json, true);

require('./libs/Smarty.class.php');

$smarty = new Smarty();
$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates_c';

$smarty->assign("title_text",$data['title']);

$smarty->display('content.tpl');

?>

エンコーディングの問題だと思いましたが、すべてがUTF-8(つまり、MYSQL、HTTPヘッダー、およびテンプレートファイル)を使用していることを確認しました。他に何ができるでしょうか?

4

1 に答える 1

2

Smartyまたはget_article.phpスクリプトは、ある時点でコンテンツタイプヘッダーを設定している必要があります。ラインを動かしてみてください

header("Content-type: text/html; charset=utf-8");

関数の真上までずっと、display以前に行われた変更をオーバーライドすることを確認します

于 2012-05-06T01:38:37.097 に答える