本文目錄一覽:
- 1、PHP出現亂碼,怎麼強制編碼
- 2、php強制轉換類型
- 3、「php」字元串如何轉換成數字?
- 4、怎樣設置php的編碼格式為utf-8
- 5、php 編碼轉換
- 6、淺析PHP中的字元串編碼轉換(自動識別原編碼)
PHP出現亂碼,怎麼強制編碼
你的程序使用資料庫了嗎?我覺得圖中的亂碼可能是資料庫造成的。
因為你提供的信息比較少,我假定使用了mysql資料庫。
首先確認你的程序使用什麼編碼,一般是UTF8或GBK。你可以藉助一些代碼編輯器來識別程序的編碼,比如eclipse或notepad++。方法一般是設定編輯器的編碼,直到中文不亂碼為止。
然後查看資料庫的編碼。如果你使用phpmyadmin,查看數據表結構,「整理」一列表示字元編碼(如gbk_chinese_ci)。如果編碼不同,將資料庫的編碼設為和程序編碼一致即可。
php強制轉換類型
PHP 中的類型強制轉換和 C 中的非常像:
在要轉換的變數之前加上用括弧括起來的目標類型。
允許的強制轉換有:
(int),(integer) – 轉換成整型
(bool),(boolean) – 轉換成布爾型
(float),(double),(real) – 轉換成浮點型
(string) – 轉換成字元串
(array) – 轉換成數組
(object) – 轉換成對象
注意在括弧內允許有空格和製表符。
還可以用settype ( mixed var, string type )進行強制轉換。
「php」字元串如何轉換成數字?
1.強制類型轉換方式 \x0d\x0a$foo = “1”; // $foo 是字元串類型 \x0d\x0a$bar = (int)$foo; // $bar 是整型 \x0d\x0a\x0d\x0a2.內置函數方式 \x0d\x0a$foo = “1”; // $foo 是字元串類型 \x0d\x0a$bar = intval($foo); // $bar 是整型 \x0d\x0a\x0d\x0a3.格式化字元串方式 \x0d\x0a$foo = “1”; // $foo 是字元串類型 \x0d\x0a$bar = sprintf(“%d”, $foo); // $bar 是字元串類型
怎樣設置php的編碼格式為utf-8
在 PHP 編寫過程中,一般需要注意的是三種編碼:
1、網頁字元編碼
2、文件字元編碼
3、資料庫字元編碼
只有上面3種編碼的格式都一致的情況下,才會儘可能的避免亂碼的出現。
二、如何使用Notepad++軟體設置UTF-8編碼:
用 Notepad++ 軟體打開指定的 php 文檔後,在「格式」菜單下找到「以UTF-8格式編碼”
以xxx編碼的意思是不強制轉換文件的編碼,僅僅以某種編碼來查看,不會對文件進行修改,這對打開某個文件發現都是亂碼時非常實用。
轉為xxx編碼的意思就是將文件內容強制轉換為某種編碼,這對於本來看到的就不是亂碼但需要調整右下角的文件編碼時非常好用。
php 編碼轉換
URLEncode:是指針對網頁url中的中文字元的一種編碼轉化方式,最常見的就是Baidu、Google等搜索引擎中輸入中文查詢時候,生成經過Encode過的網頁URL。
URLEncode的方式一般有兩種,一種是傳統的基於GB2312的Encode(Baidu、Yisou等使用),另一種是基於UTF-8的Encode(Google、Yahoo等使用)。
本工具分別實現兩種方式的Encode與Decode:
中文
–
GB2312的Encode
–
%D6%D0%CE%C4
中文
–
UTF-8的Encode
–
%E4%B8%AD%E6%96%87
我們可以用以下代碼實現轉換:
?php
echo
urlencode(‘測試’);?
如果是gb2312編碼,轉換的結果為”%B2%E2%CA%D4″;
如果是utf-8編碼,轉換的結果為”%E6%B5%8B%E8%AF%95″;
希望我的回答你能滿意啊!呵呵!
淺析PHP中的字元串編碼轉換(自動識別原編碼)
本篇文章是對PHP中字元串編碼轉換的實現代碼進行了詳細的分析介紹,需要的朋友參考下
複製代碼
代碼如下:
/**
*
對數據進行編碼轉換
*
@param
array/string
$data
數組
*
@param
string
$output
轉換後的編碼
*/
function
array_iconv($data,$output
=
‘utf-8’)
{
$encode_arr
=
array(‘UTF-8′,’ASCII’,’GBK’,’GB2312′,’BIG5′,’JIS’,’eucjp-win’,’sjis-win’,’EUC-JP’);
$encoded
=
mb_detect_encoding($data,
$encode_arr);//自動判斷編碼
if
(!is_array($data))
{
return
mb_convert_encoding($data,
$output,
$encoded);
}
else
{
foreach
($data
as
$key=$val)
{
if(is_array($val))
{
$data[$key]
=
array_iconv($val,
$input,
$output);
}
else
{
$data[$key]
=
mb_convert_encoding($data,
$output,
$encoded);
}
}
return
$data;
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/236919.html