整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          html亂碼-解決gb2312編碼導致亂碼問題

          幾天保存了網絡上的一個頁面,瀏覽器打開后,發現是亂碼。如下圖:

          亂碼網頁

          出現這個問題怎么處理呢?下面幫你解決

          頁面html源碼

          查看html,看到這里用了國標標準,看源碼截圖

          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

          解決方法:

          把gb2312改成utf-8即可

          修改為utf-8

          修改后的結果,如圖:

          修改后的展示

          知識分享:

          utf-8 和gb3212 的區別

          utf-8 這個是國際通用字庫,支持各種不同的語言

          gb3212這個是中國的字庫,支持簡體中文和少數外語+一些符號,文件資源少一點

          區別:utf-8跨平臺兼容性更好,由于它字庫更全所以加載會慢好多

          html的charset屬性

          charset屬性是定義HTML文檔的字符編碼格式。

          常見的字符編碼有:Unicode、utf-8、gbk、gb2312

          其中:

          gbk是國家標準的擴展版(增加了繁體并包含所有亞洲字符集)

          Unicode是國際組織制定的旨在容納全球所有字符的編碼方案,包括字符集、編碼方案等。又稱為萬國碼、統一碼、單一碼

          融界2024年1月16日消息,據國家知識產權局公告,中信銀行股份有限公司申請一項名為“一種基于iText的支持生僻字轉換方法及系統”的專利,公開號CN117408230A,申請日期為2023年10月。

          專利摘要顯示,本發明提供了一種基于iText的支持生僻字轉換方法及系統,涉及人工智能技術領域。其中,所述方法包括:獲得生僻字字庫;獲得常規字字庫;將所述生僻字字庫與所述常規字字庫進行組合,獲得字庫集合;根據所述字庫集合對HTML進行字體樣式設定,獲得HTML信息;將所述字庫集合設置到iText中,調用所述iText對所述HTML信息進行PDF轉換,獲得轉換文件。解決了現有技術中存在遇到生成含有生僻字的HTML轉換PDF場景時,無法正常完成生僻字轉換,出現生僻字變為亂碼,且使用升級現有中文字字庫的方法不能隨時新增生僻字,靈活性差的技術問題。

          本文源自金融界

          HTML標簽相關的字符串格式化

          string nl2br ( string $string )

          nl2br() 就是將\n 替換成 <br> //javascript對\n才能夠執行換行,對</br>是不能執行換行

          htmlspecialchars() 把一些預定義的字符轉換為 HTML 實體。

          string htmlspecialchars(string,quotestyle,[character-set])

          轉換以下字符及對應的實體

          & (和號) 成為 &
          " (雙引號) 成為 "
          ' (單引號) 成為 '
          < (小于) 成為 <
          > (大于) 成為 >

          第二個參數: ENT_COMPAT 只轉換雙引號, 保留單引號, 為默認值 compat: 兼容性

          ENT_QUOTES 同時轉換兩種引號 quotes: 引號

          ENT_NOQUOTES 不對引號進行轉換

          <html>
          <body>
          <?php
          $str = "John & \" 'Adams'";
          echo htmlspecialchars($str, ENT_COMPAT);
          echo "<br />";
          echo htmlspecialchars($str, ENT_QUOTES);
          echo "<br />";
          echo htmlspecialchars($str, ENT_NOQUOTES);
          ?>
          </body>
          </html>

          輸出結果:John & " 'Adams'

          John & " 'Adams'

          John & " 'Adams'

          htmlentities() 可以將所有的非ASCII碼字符轉換為對應的實體代碼;除字母、數字、\外, 漢字和鍵盤上其他字符都轉換

          <?php
          $str = "A 'quote' \" is <b>bold</b>" ;
          echo htmlentities ( $str ); // 輸出后源代碼: A 'quote' is <b>bold</b>
          echo htmlentities ( $str , ENT_QUOTES ); // 輸出后源代碼: A 'quote' is <b>bold</b>
          ?>

          返回的結果:A 'quote' "is <b>bold</b>

          A 'quote' "is <b>bold</b>

          注意: htmlspecialchars()和htmlentities作用直接輸出HTML腳本

          htmlspecialchars()和htmlentities()函數對于轉義字符"\"處理,不會轉義實體代碼,要么當轉義字符對待,要么原樣輸出;

          PHP中htmlentities和htmlspecialchars的區別

          這兩個函數的功能都是轉換字符為HTML字符編碼, 特別是url和代碼字符串。防止字符標記被瀏覽器執行。

          使用中文時沒什么區別, 但htmlentities會格式化中文字符使得中文輸入是亂碼。

          htmlentities轉換所有的html標記, htmlspecialchars只格式化& ' " < 和 > 這幾個特殊符號

          addslashes() 在指定的預定義字符前添加反斜杠。

          這些預定義字符是:單引號 (') 雙引號 (") 反斜杠 (\) NULL字符(\x00)

          提示:該函數可用于為存儲在數據庫中的字符串以及數據庫查詢語句準備合適的字符串。

          注釋:默認情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GET、POST 和 COOKIE數據自動運行 addslashes()。

          不要對已經被magic_quotes_gpc轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義。

          遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測。(如:$c=(!get_magic_quotes_gpc())?addslashes($c):$c;)

          在本例中,我們要向字符串中的預定義字符添加反斜杠:

          <?php
          $str = "Who's John Adams?";
          echo $str . " This is not safe in a database query.<br />";
          echo addslashes($str) . " This is safe in a database query.";
          ?>

          輸出:

          Who's John Adams? This is not safe in a database query.

          Who\'s John Adams? This is safe in a database query.

          <?php
          header("Content-type:text/html; charset=utf-8");
          $str = "wo are \x0a studying \x00 php";
          echo $str;
          echo "<br>";
          echo addslashes($str);
          ?>

          輸出:

          wo are studying php

          wo are studying >wo are studying \0 php< php



          stripslashes() 刪除反斜線("\")

          在提交的表單數據中 ' " \ 等字符前被自動加上一個\ ,這是配置文件php.ini中選項magic_quotes_gpc在起作用,

          默認是打開的,如果不處理則將數據保存到數據庫時,有可能會被數據庫誤當成控制符號而引起錯誤。

          通常htmlspecialchars()和stripslashes()函數復合的方式,聯合處理表單中的提交的數據htmlspecialchars(stripslashes())

          strip_tags()

          string strip_tags ( string $str [, string $allowable_tags ] )

          剝去 HTML、XML 以及 PHP 的標簽。

          <?php
          echo strip_tags("Hello <b><i>world!</i></b>","<b>");
          ?>

          輸出結果:Hello world!

          實例:

          <?php
          $str = "<b>webserver;</b> & \ 'Linux' & Apache";
          echo "$str"; //直接輸出
          echo "<br/>";
          echo htmlspecialchars($str,ENT_COMPAT); //只轉換雙引號,為默認參數
          echo "<br />";
          echo htmlspecialchars($str,ENT_NOQUOTES); //不對引號進行轉換
          echo "<br />";
          echo htmlspecialchars($str,ENT_QUOTES); //同時轉換單引號和雙引號
          echo "<br />";
          echo htmlentities($str); //將所有的非ASCII碼字符轉換為對應的實體代碼
          echo "<br />";
          echo addslashes($str); //將" ' \ 字符前添加反斜線
          echo "<br />";
          echo stripslashes($str); //刪除反斜線
          echo "<br />";
          echo strip_tags($str); //刪除<html>標記
          ?>

          輸出結果:

          webserver; & \ 'Linux' & Apache


          主站蜘蛛池模板: 亚洲国产一区二区视频网站| 亚洲综合色自拍一区| 精品国产亚洲一区二区三区在线观看 | 内射一区二区精品视频在线观看 | 国产成人一区二区三区免费视频 | 波多野结衣一区二区| 亚洲成av人片一区二区三区 | 无码人妻精品一区二区蜜桃 | 性色AV一区二区三区无码| 久夜色精品国产一区二区三区| 国产精品亚洲一区二区在线观看| 无码人妻AⅤ一区二区三区水密桃| 无码人妻av一区二区三区蜜臀 | 成人区人妻精品一区二区不卡视频 | 无码精品人妻一区二区三区免费| 99久久精品费精品国产一区二区| 精品国产精品久久一区免费式| 日本一区二区在线| 国产乱码精品一区二区三区香蕉| 国产成人一区二区三中文| 精品一区精品二区| 波多野结衣中文字幕一区二区三区 | 日本精品少妇一区二区三区| 久久国产精品视频一区| 精品久久综合一区二区| AV无码精品一区二区三区| 国产一区在线视频| 好湿好大硬得深一点动态图91精品福利一区二区 | 乱色精品无码一区二区国产盗| 污污内射在线观看一区二区少妇| 国产成人综合一区精品| 国产在线精品一区二区高清不卡| 91精品乱码一区二区三区| 久草新视频一区二区三区| 爆乳无码AV一区二区三区| 亚洲一区二区三区精品视频| 久久国产一区二区| 中文字幕一区二区人妻性色| 国产剧情一区二区| 国产大秀视频一区二区三区 | 无码人妻精品一区二区三区在线|