电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP擴展之字符串編碼相關函數2——多字節字符串

瀏覽:4日期:2022-09-15 16:47:32
簡介

雖然許多語言每個必要字符都能一對一映射到 8 比特(bit)的值,但也有好幾種語言需要非常多的字符來書面通訊,以至于它們的編碼范圍不能僅僅包含在一個字節里(一個字節 Byte 由 8 比特 bit 構成。每一比特僅能包含兩種不同的值: 1 或 0。所以,一字節僅能夠表示 256 種不同的值,即 2 的八次方)。 開發多字節字符編碼方案是為了在基于字節的常規編碼系統中表達超過 256 個字符。

在你操作(trim、split、splice 等等)多字節編碼的字符串的時候,由于在這種編碼方案下,兩個或多個連續字節可能只表達了一個字符,所以你需要使用專門的函數。 否則,當你將不能檢測多字節字符串的函數應用到這個字符串的時候,它可能無法檢測多字節字符的起始位置,并以亂碼字符串結尾,基本丟失了它原來的意思。

mbstring?提供了針對多字節字符串的函數,能夠幫你處理 PHP 中的多字節編碼。 除此以外,mbstring?還能在可能的字符編碼之間相互進行編碼轉換。 為了方便起見,mbstring?設計成了處理基于 Unicode 的編碼,類似 UTF-8、UCS-2 及諸多單字節的編碼。

mbstring?不是一個默認擴展。這意味著它默認沒有被激活。 你必須在?configure?選項中顯式激活該模塊。

HTTP 輸入和輸出

HTTP 輸入/輸出字符編碼轉換同樣也適用于二進制數據。 如果 HTTP 輸入/輸出用到了二進制數據,用戶應當控制字符的編碼轉換。

自 PHP 4.3.3 起,如果 HTML 表單的?enctype?屬性設置為?multipart/form-data,并且?php.ini?里的mbstring.encoding_translation?設置為 On, POST 的變量以及上傳文件的名稱也將會被轉換到內部字符編碼。 不過,轉換不會應用于查詢(query)的鍵。

HTTP 輸入在 PHP 腳本里無法控制 HTTP 輸入字符的轉換。 要禁用 HTTP 輸入字符的轉換,必須要在?php.ini?里設置。

Example #1 在?php.ini?中禁用 HTTP 輸入轉換

;; 禁用 HTTP 輸入轉換mbstring.http_input = pass;;禁用 HTTP 輸入轉換 (PHP 4.3.0 或更高版本)mbstring.encoding_translation = Off

當 PHP 以 Apache 模塊運行。這些設置還可以通過?httpd.conf?內每個虛擬主機(Virtual Host)指令或每個目錄下的?.htaccess來覆蓋(override)。HTTP 輸出輸出字符編碼轉換的使用有幾種方式。 一種是使用?php.ini,另一種是使用?ob_start(),以?mb_output_handler()?作為?ob_start的回調函數。

Example #2?php.ini?設置例子

;; 為所有 PHP 頁面啟用輸出字符編碼的轉換;; 啟用輸出緩沖output_buffering = On;; 設置 mb_output_handler 來進行輸出的轉換output_handler = mb_output_handler

Example #3 腳本例子

<?php //?僅為此頁面啟用輸出字符編碼的轉換 //?設置?HTTP?輸出字符編碼為?SJIS mb_http_output(’SJIS’); //?開始緩沖并指定?'mb_output_handler'?為回調函數 ob_start(’mb_output_handler’);?>多字節字符串 函數mb_check_encoding?— 檢查字符串在指定的編碼里是否有效mb_convert_case?— 對字符串進行大小寫轉換mb_convert_encoding?— 轉換字符的編碼mb_convert_kana?— Convert 'kana' one from another ('zen-kaku', 'han-kaku' and more)mb_convert_variables?— 轉換一個或多個變量的字符編碼mb_decode_mimeheader?— 解碼 MIME 頭字段中的字符串mb_decode_numericentity?— 根據 HTML 數字字符串解碼成字符mb_detect_encoding?— 檢測字符的編碼mb_detect_order?— 設置/獲取 字符編碼的檢測順序mb_encode_mimeheader?— 為 MIME 頭編碼字符串mb_encode_numericentity?— Encode character to HTML numeric string referencemb_encoding_aliases?— Get aliases of a known encoding typemb_ereg_match?— Regular expression match for multibyte stringmb_ereg_replace_callback?— Perform a regular expresssion seach and replace with multibyte support using a callbackmb_ereg_replace?— Replace regular expression with multibyte supportmb_ereg_search_getpos?— Returns start point for next regular expression matchmb_ereg_search_getregs?— Retrieve the result from the last multibyte regular expression matchmb_ereg_search_init?— Setup string and regular expression for a multibyte regular expression matchmb_ereg_search_pos?— Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte stringmb_ereg_search_regs?— Returns the matched part of a multibyte regular expressionmb_ereg_search_setpos?— Set start point of next regular expression matchmb_ereg_search?— Multibyte regular expression match for predefined multibyte stringmb_ereg?— Regular expression match with multibyte supportmb_eregi_replace?— Replace regular expression with multibyte support ignoring casemb_eregi?— Regular expression match ignoring case with multibyte supportmb_get_info?— 獲取 mbstring 的內部設置mb_http_input?— 檢測 HTTP 輸入字符編碼mb_http_output?— 設置/獲取 HTTP 輸出字符編碼mb_internal_encoding?— 設置/獲取內部字符編碼mb_language?— 設置/獲取當前的語言mb_list_encodings?— 返回所有支持編碼的數組mb_output_handler?— 在輸出緩沖中轉換字符編碼的回調函數mb_parse_str?— 解析 GET/POST/COOKIE 數據并設置全局變量mb_preferred_mime_name?— 獲取 MIME 字符串mb_regex_encoding?— Set/Get character encoding for multibyte regexmb_regex_set_options?— Set/Get the default options for mbregex functionsmb_send_mail?— 發送編碼過的郵件mb_split?— 使用正則表達式分割多字節字符串mb_strcut?— 獲取字符的一部分mb_strimwidth?— 獲取按指定寬度截斷的字符串mb_stripos?— 大小寫不敏感地查找字符串在另一個字符串中首次出現的位置mb_stristr?— 大小寫不敏感地查找字符串在另一個字符串里的首次出現mb_strlen?— 獲取字符串的長度mb_strpos?— 查找字符串在另一個字符串中首次出現的位置mb_strrchr?— 查找指定字符在另一個字符串中最后一次的出現mb_strrichr?— 大小寫不敏感地查找指定字符在另一個字符串中最后一次的出現mb_strripos?— 大小寫不敏感地在字符串中查找一個字符串最后出現的位置mb_strrpos?— 查找字符串在一個字符串中最后出現的位置mb_strstr?— 查找字符串在另一個字符串里的首次出現mb_strtolower?— 使字符串小寫mb_strtoupper?— 使字符串大寫mb_strwidth?— 返回字符串的寬度mb_substitute_character?— 設置/獲取替代字符mb_substr_count?— 統計字符串出現的次數mb_substr?— 獲取字符串的部分

標簽: PHP
相關文章:
主站蜘蛛池模板: 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 天然气分析仪-液化气二甲醚分析仪|传昊仪器 | 光伏家 - 太阳能光伏发电_分布式光伏发电_太阳能光伏网 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 黄石东方妇产医院_黄石妇科医院哪家好_黄石无痛人流医院 | 德国BOSCH电磁阀-德国HERION电磁阀-JOUCOMATIC电磁阀|乾拓百科 | 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | 皮带式输送机械|链板式输送机|不锈钢输送机|网带输送机械设备——青岛鸿儒机械有限公司 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 消防泵-XBD单级卧式/立式消防泵-上海塑泉泵阀(集团)有限公司 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | 厌氧反应器,IC厌氧反应器,厌氧三相分离器-山东创博环保科技有限公司 | 暖气片十大品牌厂家_铜铝复合暖气片厂家_暖气片什么牌子好_欣鑫达散热器 | 北京开业庆典策划-年会活动策划公司-舞龙舞狮团大鼓表演-北京盛乾龙狮鼓乐礼仪庆典策划公司 | 法钢特种钢材(上海)有限公司 - 耐磨钢板、高强度钢板销售加工 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 沈阳楼承板_彩钢板_压型钢板厂家-辽宁中盛绿建钢品股份有限公司 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 无硅导热垫片-碳纤维导热垫片-导热相变材料厂家-东莞市盛元新材料科技有限公司 | 我爱古诗词_古诗词名句赏析学习平台 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 电动车头盔厂家_赠品头盔_安全帽批发_山东摩托车头盔—临沂承福头盔 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 运动木地板厂家_体育木地板安装_篮球木地板选购_实木运动地板价格 | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 体坛网_体坛+_体坛周报新闻客户端 | 知企服务-企业综合服务(ZiKeys.com)-品优低价、种类齐全、过程管理透明、速度快捷高效、放心服务,知企专家! | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 执业药师报名条件,考试时间,考试真题,报名入口—首页 | 304不锈钢无缝管_不锈钢管厂家 - 隆达钢业集团有限公司 | 「钾冰晶石」氟铝酸钾_冰晶石_氟铝酸钠「价格用途」-亚铝氟化物厂家 |