php如何修改文件編碼,php設置utf8編碼

本文目錄一覽:

如何修改PHP的默認編碼

也可以給每個文件設置默認編碼,但是比較麻煩,不建議這樣做。建議直接找到配置文件,然後將編碼格式設置成自己需要的類型即可。

怎樣設置php的編碼格式為utf-8

在 PHP 編寫過程中,一般需要注意的是三種編碼:

1、網頁字元編碼

2、文件字元編碼

3、資料庫字元編碼

只有上面3種編碼的格式都一致的情況下,才會儘可能的避免亂碼的出現。

二、如何使用Notepad++軟體設置UTF-8編碼:

用 Notepad++ 軟體打開指定的 php 文檔後,在「格式」菜單下找到「以UTF-8格式編碼”

以xxx編碼的意思是不強制轉換文件的編碼,僅僅以某種編碼來查看,不會對文件進行修改,這對打開某個文件發現都是亂碼時非常實用。

轉為xxx編碼的意思就是將文件內容強制轉換為某種編碼,這對於本來看到的就不是亂碼但需要調整右下角的文件編碼時非常好用。

php 怎麼把得到的文件名編碼換一下

與 php 編碼有關的,有兩處地方:

1、php 文件本身的編碼格式:

根據使用 php 編寫軟體的不同,其操作方法有所區別,比如 phpDesigher 軟體:

2、php 文件內容里,需要設置供瀏覽器進行解析時需要的編碼格式:

在 PHP 文件代碼里,插入

header(“Content-type: text/html; charset=utf-8”);相當於 html 的

meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /

php怎麼設置編碼

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

另外你的編輯器編碼也要對應哦

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。

最近需要用到iconv函數把抓取來過的utf-8編碼的頁面轉成gb2312, 發現只有用iconv函數把抓取過來的數據一轉碼數據就會無緣無故的少一些。 讓我鬱悶了好一會兒,去網上一查資料才知道這是iconv函數的一個bug。iconv在轉換字元”—”到gb2312時會出錯。解決方法很簡單,就是在 需要轉成的編碼後加 “//IGNORE” 也就是iconv函數第二個參數後,如下:

iconv(“UTF-8″,”GB2312//IGNORE”,$data)

ignore的意思是忽略轉換時的錯誤,如果沒有ignore參數,所有該字元後面的字元串都無法被保存。

如何用php設置utf-8編碼?

在你的源文件找到meta http-equiv=”content-type” content=”text/html;charset=utf-8″charset= 後面接的就是編碼,你全部改了就可以了。如果你改了之後變成亂碼的話,那你就只能先建一個utf-8編碼的網頁,把相應的內容重新輸入進去。

要輸出UTF8格式時,加上以下語句:

header(」Content-Type: text/html; charset=UTF-8″)

php用UTF-8總結:

php文件本身必須是UTF-8編碼。不像Java會生成class文件,避免這個問題

php要輸出頭:header(」Content-Type: text/html; charset=UTF-8″)

meta標籤無所謂,有header所有瀏覽器就會按header來解析

所有外圍都得用UTF8,包括資料庫、×.js、×.css(CSS影響倒不大)

php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼(基本上的linux都裝了,沒裝的話download、tar、make、make install,很簡單的)

my.ini:

[MySQL(和PHP搭配之最佳組合)]

default-character-set=utf8

[MySQL(和PHP搭配之最佳組合)d]

default-character-set=utf8

default-storage-engine=MyISAM

在[MySQL(和PHP搭配之最佳組合)d]下加入:

default-collation=utf8_bin

init_connect='SET NAMES utf8'

在需要做資料庫操作的php程序前面加上

mb_internal_encoding('utf-8');

create table最後邊加上ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin

phpMyAdmin/config.inc.php

$cfg['DefaultCharset'] = 'utf-8';

$cfg['RecodingEngine'] = 'iconv';

phpAdmin導出數據時

把”二進位區域使用十六進位顯示”的勾去掉

特別鬱悶的:文件系統函數不支持UTF-8!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152030.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-12 00:54
下一篇 2024-11-12 00:54

相關推薦

發表回復

登錄後才能評論