在 Controller 直接 echo 輸出中文時,部分瀏覽器可能顯示亂碼。原因通常是 HTTP 回應標頭缺少字元編碼宣告。以下提供兩種標準解法。
header()在輸出前送出正確的 Content-Type 標頭:
<?php
class Home extends CI_Controller {
public function index() {
// 設定編碼為 UTF-8
header("Content-type: text/html; charset=utf-8");
echo '測試輸出';
}
}
?>
透過框架內建的 Output 類別統一管理輸出編碼:
$this->output->set_content_type('text/html', 'utf-8');
$this->output->set_output("測試輸出");
MY_Controller 的建構子中統一設定編碼,避免重複撰寫。application/config/config.php 中的 $config['charset'] = 'UTF-8';。