導航:首頁 > 編程語言 > php判斷unicode

php判斷unicode

發布時間:2022-08-29 22:40:09

❶ mysql php查到的中文是unicode

開發中要做到資料庫,網頁,伺服器程序編碼統一,設置一下編碼格式即可。

MySQL資料庫編碼、html頁面編碼、PHP或html文件本身編碼要全部一致。
1、MySQL資料庫編碼:
建立資料庫時指定編碼(如gbk_chinese_ci),建立數據表、建立欄位、插入數據時不要指定編碼,會自動繼承資料庫的編碼。
資料庫連接時,也有編碼,可以在連接完資料庫後,執行mysql_query(『SET NAMES gbk』);//將gbk換成你的編碼,如utf8。
2、html頁面的編碼,指的是這一行的設置:
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

3、PHP或html文件本身的編碼:
用editplus打開php文件或html文件,另存時,選擇的編碼,如果資料庫和頁面編碼是gbk,則這兒的編碼選擇ansi;如果資料庫和頁面編碼是utf-8,則這兒也選擇utf-8。

4、Javascript或Flash中傳遞的數據是utf-8編碼:
另外要注意的是,Javascript或Flash中傳遞的數據是utf-8編碼,如果資料庫和頁面編碼是gbk,要進行轉碼,然後寫入資料庫。
iconv('utf-8', 'gbk', $content);

5、在PHP程序中,可以加上一行,來指定PHP源程序的編碼:
header('Content-type: text/html; charset=gbk');

❷ php中如何判斷中英文字元

PHP判斷中英文的依據是字元的ASII值,而字元的ASII值也因編碼不同而不同。為了能編寫判斷中英文字元的php程序,我們必須先來了解下各編碼下中文英文字元的ASII值范圍:
1.
GBK
(GB2312/GB18030)
x00-xff
GBK雙位元組編碼范圍
x20-x7f
ASCII
xa1-xff
中文
gb2312
x80-xff
中文
gbk
2.
UTF-8
(Unicode)
u4e00-u9fa5
(中文)
x3130-x318F
(韓文
xAC00-xD7A3
(韓文)
u0800-u4e00
(日文)
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD
HTML
4.0
Transitional//EN">
<HTML>
<HEAD>
<TITLE>
New
Document
</TITLE>
<META
http-equiv="Content-Type"
content="text/html;
charset=utf-8">
</HEAD>
<BODY>
<?
$str
=
"中文";
echo
$str;
echo
"<hr>";
//if
(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",
$str))
{
//只能在GB2312情況下使用
if
(preg_match("/^[x7f-xff]+$/",
$str))
{
//兼容gb2312,utf-8

echo
"正確輸入";
}
else
{

echo
"錯誤輸入";
}
?>
</BODY>
</HTML>

❸ php 怎麼判斷是unicode

這個在你的項目裡面配置一下就好了。比如我使用thinkphp框架,在配置文件裡面有這么一行: 'DB_HOST'=> 'localhost', 這里配置的就是要訪問的資料庫伺服器,我本地使用就用localhost,如果你是在伺服器上的,就寫你伺服器的網址或者是IP就好了。任何一個php框架或者不用框架都有這么一個設置的

樓主大概就是這樣,你還是不詳細,就去後盾人學習,看看教學視頻

❹ PHP怎麼判斷txt文件的編碼

我做了幾年PHP程序員,據我所知,PHP是沒法判斷文檔編碼的。如果PHP能判斷文檔編碼就不會有網站會出現亂碼了,判斷文檔編碼一般瀏覽器來處理。

我們公司開發的採集程序,就是通過網站源代碼中的UTF-8 gbk 等字樣來判斷。

處理你說的這個問題,要開發桌面程序來處理才行。

❺ PHP正則表達式驗證是否含有中文

判斷是否有中文。
if (preg_match("/[\x7f-\xff]/", $string)) { echo "true"; }else{ echo "false"; }判斷是否全部是中文
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情況下使用 if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8
echo "true";
} else {
echo "false";
}
判斷中文和編碼有關 gbk是雙位元組,utf8是三位元組,可以根據中文的范圍來判斷
編碼范圍1. GBK (GB2312/GB18030)
/x00-/xff GBK雙位元組編碼范圍
/x20-/x7f ASCII
/xa1-/xff 中文
/x80-/xff 中文
2. UTF-8 (Unicode)
/一-/龥 (中文)
/x3130-/x318F (韓文
/xAC00-/xD7A3 (韓文)
/u0800-/一 (日文)
ps: 韓文是大於[/龥]的字元
正則例子:
preg_replace("/([/x80-/xff])/","",$str);
preg_replace("/([一-龥])/","",$str);
希望可以採納,謝謝。

❻ PHP UNICODE 編碼轉換

Unicode是一個字元集,Unicode是定長的都為雙位元組.
這里我們常用的是utf8字元集編碼,樓主是說的Unicode轉換為UTF-8吧。

/**
* Unicode字元轉換成utf8字元
* @param [type] $unicode_str Unicode字元
* @return [type] Utf-8字元
*/
function unicode_to_utf8($unicode_str) {
$utf8_str = '';
$code = intval(hexdec($unicode_str));
//這里注意轉換出來的code一定得是整形,這樣才會正確的按位操作
$ord_1 = decbin(0xe0 | ($code >> 12));
$ord_2 = decbin(0x80 | (($code >> 6) & 0x3f));
$ord_3 = decbin(0x80 | ($code & 0x3f));
$utf8_str = chr(bindec($ord_1)) . chr(bindec($ord_2)) . chr(bindec($ord_3));
return $utf8_str;
}

❼ 如何判斷字元是否是unicode

如何判斷一個Unicode表示的字元為一個中文字
看你用什麼編譯,c++
的string
有重寫過
是有個介面直接判斷中英文
具體原理是:
漢字是佔2個位元組,字母和數字是1個位元組,而且漢字的2個位元組的ASCII碼都大於128,字母和數字的位元組都小於128
都變成Unicode編碼,就簡單了,編碼大於0x00ff的都不是ASC碼。
簡單點的,根據它的ASCII值來進行判斷。
找到GB,GBK的編碼范圍,只要在中間的即是漢字,前提條件,是在中文系統中運行的這個軟體,如果在其他雙位元組字元的系統中運行,肯定要出錯:)。

❽ 如何判斷一個字元串是否是unicode編碼

Unicode編碼標准中的所有字元都是雙位元組長。
單位元組字元集是拉丁字母,重音文字,用ASCII標準定義,用於DOS操作系統。雙位元組字元集用於東亞和中東語言。Unicode用於COM和Windows
NT內部。
單位元組字元集,它的數據類型是char。
Unicode字元集用wchar_t數據類型。
Unicode字元串用L前綴起頭,如:
wchar_t
wch
=
L'1';
//
2
個位元組,
0x0031
wchar_t*
wsz
=
L"Hello";
//
12
個位元組,
6
個寬字元
用strlen()函數求字元串的長度(非unicode)
_mbslen
(
)
(UNICODE)
求出長度,讀出數據內容。

❾ php中怎樣判斷unicode字元是三位元組還是四位元組

PHP7.0 以下的版本比如5.6,5.4可以
$c='好'; //單個unicode字元
$l=strlen($c);//得到位元組數

❿ PHP解密Unicode及Escape加密字元串

在json中不支持中文,用它傳送中文數據就會出現數據丟失或者亂碼,必須在傳送前對要發送的字元串進行編碼,由於傳送過去需要用js進行數據解析,考慮
到js中有unescape函數,故若在php中有個escape函數,對數據進行編碼,在客戶端用unescape進行
解碼,這樣就會方便很多。
本文給大家分享一個PHP解密Unicode及Escape加密字元串函數
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
?php
function
uni_decode($s)
{
preg_match_all('/#([0-9]{2,5});/',
$s,
$html_uni);
preg_match_all('/[%]u([0-9a-f]{4})/ie',
$s,
$js_uni);
$source
=
array_merge($html_uni[0],
$js_uni[0]);
$js
=
array();
for($i=0;$icount($js_uni[1]);$i++)
{
$js[]
=
hexdec($js_uni[1][$i]);
}
$utf8
=
array_merge($html_uni[1],
$js);
$code
=
$s;
for($j=0;$jcount($utf8);$j++)
{
$code
=
str_replace($source[$j],
unicode2utf8($utf8[$j]),
$code);
}
return
$code;//$s;//preg_replace('/u([0-9a-f]{4})/ie',
chr(hexdec('1')),
$s);
}
function
unicode2utf8($c)
{
$str=;
if
($c
0x80)
{
$str.=chr($c);
}
else
if
($c
0x800)
{
$str.=chr(0xc0
|
$c6);
$str.=chr(0x80
|
$c
0x3f);
}
else
if
($c
0x10000)
{
$str.=chr(0xe0
|
$c12);
$str.=chr(0x80
|
$c6
0x3f);
$str.=chr(0x80
|
$c
0x3f);
}
else
if
($c
0x200000)
{
$str.=chr(0xf0
|
$c18);
$str.=chr(0x80
|
$c12
0x3f);
$str.=chr(0x80
|
$c6
0x3f);
$str.=chr(0x80
|
$c
0x3f);
}
return
$str;
}
$str='%u5927%u5BB6%u597D%uFF0C我是孤魂!br
/';
echo
uni_decode($str);
//
大家好,我是孤魂!這是測試文本!
在網上搜索一把,很多用php實現的escape函數,大同小異
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function
phpescape($str){
preg_match_all(/[x80-xff].|[x01-x7f]+/,$str,$newstr);
$ar
=
$newstr[0];
foreach($ar
as
$k=$v){
if(ord($ar[$k])=127){
$tmpString=bin2hex(iconv(GBK,ucs-2,$v));
if
(!eregi(WIN,PHP_OS)){
$tmpString
=
substr($tmpString,2,2).substr($tmpString,0,2);
}
$reString.=%u.$tmpString;
}
else
{
$reString.=
rawurlencode($v);
}
}
return
$reString;
}
以上所述就是本文的全部內容了,希望大家能夠喜歡。

閱讀全文

與php判斷unicode相關的資料

熱點內容
卸載聯想app哪個好 瀏覽:719
php文字轉圖片 瀏覽:328
豆客後台怎麼加密碼 瀏覽:574
jpg轉換pdf破解版 瀏覽:978
php基礎書籍推薦 瀏覽:775
伺服器與外網不通如何驗證 瀏覽:351
電子版是不是就是文件夾 瀏覽:50
游戲屬性文件加密 瀏覽:462
如何讓安卓手機桌面圖標下移 瀏覽:528
ubuntuphp5環境搭建 瀏覽:99
賭癮解壓視頻 瀏覽:917
晉城移動dns伺服器地址 瀏覽:294
php開源文庫系統 瀏覽:134
android記事本源碼 瀏覽:406
安卓11小游戲怎麼玩法 瀏覽:189
gif有損壓縮 瀏覽:936
windows下安裝linux命令操作 瀏覽:843
米家app怎麼設置進門亮燈 瀏覽:652
任我行伺服器為什麼會影響截圖 瀏覽:296
安卓留言板怎麼刪除 瀏覽:18