本文目錄一覽:
- 1、PHP 輸出簡單的中文 亂碼問題
- 2、php文件不執行代碼但是f12有輸出
- 3、請問下當PHP網頁有輸出時,HTML的布局會變動???
- 4、php在網頁上為什麼輸出的還是源代碼?
- 5、暈倒php mysql頁面輸出問題,急
- 6、如何用PHP輸出靜態頁面
PHP 輸出簡單的中文 亂碼問題
解決php中中文亂碼問題方法
php文件本身的編碼與網頁的編碼應匹配
a. 如果欲使用gb2312編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=gb2312″),靜態頁面添加meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″,所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。
b. 如果欲使用utf-8編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=utf-8″),靜態頁面添加meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″,所有文件的編碼格式為utf-8。保存為utf-8可能會有點麻煩,一般utf-8文件開頭會有BOM,如果使用session就會出問題,可用editplus來保存,在editplus中,工具-參數選擇-文件-UTF-8簽名,選擇總是刪除,再保存就可以去掉BOM信息了。
php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。
如果你的HTML文件文件出現了亂碼問題,那麼你可以在head標籤裏面加入UTF8編碼(國際化編碼):UTF-8是沒有國家的編碼,也就是獨立於任何一種語言,任何語言都可以使用的。
擴展資料:
解決PHP 輸出簡單的中文 亂碼問題的其他方法:
在php的echo前面加入header(“Content-Type:text/html;charset=gb2312”)
把meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ /中的UTF-8改成gb2312
參考資料:
百度百科-PHP
php文件不執行代碼但是f12有輸出
執行錯誤。
1、建一個簡單的php網頁文件。
2、我們在瀏覽器中去「瀏覽」該php網頁文件,結果把php文件內容顯示出來了,php並沒有運行。
3、需要配置apache,以調用「php語言模塊(引擎)」去執行該php代碼。需要apache的主配置文件httpd.conf,其位置在:apache安裝目錄/conf/httpd.conf。
4、找到「裝載模塊」的位置:並在這一系列的LoadModule的最後位置,添加這樣一行:”LoadModuleactions_modulemodules/mod_actions.so”,php5語言包中的模塊文件其中,php5語言模塊名就是一個固定的名字,為:php5_module,php5語言包,其實就是php語言包的那個文件夾。
5、在apache的配置文件最後寫上:LoadModulphp5_module”H:/amp/php/php5apache2_2.dll”。
6、另起一行設置php後綴的文件,由這個php語言模塊去執行。”AddTypeapplication/x-httpd-php.php”。
7、重啟Apache,運行剛才寫的php程序即可。
請問下當PHP網頁有輸出時,HTML的布局會變動???
你echo $postmessage的時候布局是會發生變化的;
你最好用css做一下布局,控制樣式;
php在網頁上為什麼輸出的還是源代碼?
沒解析成功! php文件里可以寫html代碼 html文件里不可你這樣寫php代碼! 需要變量解析才能讀取變量,不然就是字符串輸出
暈倒php mysql頁面輸出問題,急
jdbc:mysql://localhost:3306/ipanel?useUnicode=truecharacterEncoding=UTF-8
連接字符串追加characterEncoding=UTF-8
Illegal mix of collations的錯誤是字符編碼不一樣,不能進行比較,也就是說數據庫內部的編碼都不一樣,有的數據是utf8_general_ci,有的數據是gb2312_chinese_ci,因此解決此問題的核心就是將數據庫所有的編碼進行統一。
SHOW VARIABLES LIKE ‘character_set_%’;
SHOW VARIABLES LIKE ‘collation_%’;
用上面兩個命令看看哪裡不統一
改成一致的就可以了
—————————————
url裏面有中文再粘貼就異常 這句話啥意思??
我覺得你方向好像不對
你現在意思是說 畫面上的中文 從後台得到是亂碼 是這意思嗎?
解決思路也不是把中文改成什麼進制啊
通常php設置一下編碼就可以了
header(「content-type:text/html; charset=utf-8″);
通常來說, 出現亂碼都是因為編碼的不一致造成的.
對於PHP 來說, 一定要保持以下三個地方的編碼一致:
1 php 文件的編碼
2 HTML 頁面里標籤中指定的編碼
3 數據庫編碼
如何用PHP輸出靜態頁面
用PHP輸出靜態頁面有2種方法
一種是利用模板技術,另一種是用ob系列函數。兩種方法,看起來都差不多,但是實際上,卻是不同的。
第一種:利用模板
目前PHP的模板可以說是很多了,有功能強大的smarty,還有簡單易用的smart template等。
它們每一種模板,都有一個獲取輸出內容的函數。
我們生成靜態頁面的方法,就是利用了這個函數。
用這個方法的優點是,代碼比較清晰,可讀性好。
這裡我用smarty做例子,說明如何生成靜態頁
?php
require(‘smarty/Smarty.class.php’);
$t = new Smarty;
$t-assign(“title”,”Hello World!”);
$content = $t-fetch(“templates/index.htm”);
//這裡的 fetch() 就是獲取輸出內容的函數,現在$content變量裏面,就是要顯示的內容了
$fp = fopen(“archives/2005/05/19/0001.html”, “w”);
fwrite($fp, $content);
fclose($fp);
?
第二種方法:利用ob系列的函數
這裡用到的函數主要是 ob_start(), ob_end_flush(), ob_get_content(),
其中ob_start()是打開瀏覽器緩衝區的意思,
打開緩衝後,所有來自PHP程序的非文件頭信息均不會發送,
而是保存在內部緩衝區,直到你使用了ob_end_flush().
而這裡最重要的一個函數,就是ob_get_contents(),
這個函數的作用是獲取緩衝區的內容,相當於上面的那個fetch(),
道理一樣的。代碼:
?php
ob_start();
echo “Hello World!”;
$content = ob_get_contents();//取得php頁面輸出的全部內容
$fp = fopen(“0001.html”, “w”);
fwrite($fp, $content);
fclose($fp);
?
原創文章,作者:H5DB0,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/130501.html