久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      如何解決php字符亂碼問題

      php字符亂碼的解決辦法:1、在title前加入語句“charset=utf-8”;2、去除BOM標(biāo)簽;3、在PHP代碼前加入語句“header(“Content-Type: text/html;charset=utf-8”)”。

      如何解決php字符亂碼問題

      推薦:《PHP視頻教程》

      一.HTML頁面轉(zhuǎn)UTF-8編碼問題
      1.在head后,title前加入一行:

      <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />

      順序不能錯(cuò),一定要在

      顯示的標(biāo)題有可能是亂碼!

      2.html文件編碼問題:

      點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,
      如果是ANSI,需要將編碼改成:UTF-8。

      3.HTML文件頭BOM問題:
      將文件從其他的編碼轉(zhuǎn)換成UTF-8編碼時(shí),有時(shí)候會(huì)在文件的最開始加上一個(gè)BOM標(biāo)簽,
      在個(gè)BOM標(biāo)簽可能會(huì)導(dǎo)致瀏覽器在顯示中文的時(shí)候出現(xiàn)亂碼。
      刪除這個(gè)BOM標(biāo)簽的方法:

      1.可以用Dreamweaver打開文件,并重新保存,即可以去除BOM標(biāo)簽!

      2.可以用EditPlus打開文件,并在菜單“首選項(xiàng)”->“文件”->”UTF-8標(biāo)識(shí)”,設(shè)置為:“總是刪除簽名”,
      然后保存文件,即可以去除BOM標(biāo)簽!

      4.WEB服務(wù)器UTF-8編碼問題:
      如果你按以上所列的步驟做了,還是有中文亂碼問題,
      請檢查你的所使用的WEB服務(wù)器的編碼問題
      如果你使用的是Apache,請將配置文件里的:charset 設(shè)成:utf-8(這里僅列出方法,具體格式請參考apache的配置文件)
      如果你使用的是Nginx,請將nginx.conf里的:charset 設(shè)成 utf-8,
      具體找到 “charset gb2312;”或者類似的語句,改成:“charset utf-8;”。

      二.PHP頁面轉(zhuǎn)UTF-8編碼問題

      1.在代碼開始出加入一行:
      header(“Content-Type: text/html;charset=utf-8”);

      2.PHP文件編碼問題

      點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,
      如果是ANSI,需要將編碼改成:UTF-8。

      3.PHP文件頭BOM問題:
      PHP文件一定不可以有BOM標(biāo)簽
      否則,會(huì)出現(xiàn)session不能使用的情況,并有類似的提示:
      Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent
      這是因?yàn)椋趫?zhí)行session_start() 的時(shí)候,整個(gè)頁面不能有輸出,但是當(dāng)由于前PHP頁面存在BOM標(biāo)簽,
      PHP把這個(gè)BOM標(biāo)簽當(dāng)成是輸出了,所以就出錯(cuò)了!
      所以PHP頁面一定要?jiǎng)h除BOM標(biāo)簽
      刪除這個(gè)BOM標(biāo)簽的方法:

      1.可以用Dreamweaver打開文件,并重新保存,即可以去除BOM標(biāo)簽!

      2.可以用EditPlus打開文件,并在菜單“首選項(xiàng)”->“文件”->”UTF-8標(biāo)識(shí)”,設(shè)置為:“總是刪除簽名”,
      然后保存文件,即可以去除BOM標(biāo)簽!

      4.PHP以附件形式保存文件的時(shí)候,UTF-8編碼問題:
      PHP以附件形式保存文件,文件名必須是GB2312編碼,
      否則,如果文件名中有中文的話,將是顯示亂碼:
      如果你的PHP本身是UTF-8編碼格式的文件,
      需要將文件名變量由UTF-8轉(zhuǎn)成GB2312:
      iconv(“UTF-8”, “GB2312”, “$filename”);

      5.截?cái)囡@示文章標(biāo)題時(shí),出現(xiàn)亂碼或者“?”問號的問題:
      一般文章標(biāo)題很長的時(shí)候,會(huì)顯示一部分標(biāo)題,會(huì)對文章標(biāo)題進(jìn)行截?cái)啵?
      由于一個(gè)UTF-8編碼格式的中文字符會(huì)占用3個(gè)字符寬度,
      截取標(biāo)題的時(shí)候,有時(shí)會(huì)只截取到一個(gè)中文字符的1個(gè)字符或2字符寬度,
      沒截取完整,將出現(xiàn)亂碼或“?”問號的情況,
      用下面的函數(shù)截取標(biāo)題,就不會(huì)有問題:

      unction get_brief_str($str, $max_length)  {  echo strlen($str) ."<br>";  if(strlen($str) > $max_length)  {  $check_num = 0;  for($i=0; $i < $max_length; $i++)  {  if (ord($str[$i]) > 128)  $check_num++;  }   if($check_num % 3 == 0)  $str = substr($str, 0, $max_length)."...";  else if($check_num % 3 == 1)  $str = substr($str, 0, $max_length + 2)."...";  else if($check_num % 3 == 2)  $str = substr($str, 0, $max_length + 1)."...";  }  return $str;  }

      三.MYSQL數(shù)據(jù)庫使用UTF-8編碼的問題

      1.用phpmyadmin創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表
      創(chuàng)建數(shù)據(jù)庫的時(shí)候,請將“整理”設(shè)置為:“utf8_general_ci”
      或執(zhí)行語句:

      CREATE DATABASE dbname DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
      創(chuàng)建數(shù)據(jù)表的時(shí)候:如果是該字段是存放中文的話,則需要將“整理”設(shè)置為:“utf8_general_ci”,

      如果該字段是存放英文或數(shù)字的話,默認(rèn)就可以了。

      相應(yīng)的SQL語句,例如:

      CREATE TABLE `test` (  `id` INT NOT NULL ,  `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,  PRIMARY KEY ( `id` )  ) ENGINE = MYISAM ;

      2.用PHP讀寫數(shù)據(jù)庫

      在連接數(shù)據(jù)庫之后:

      [hide]connection=mysqlconnect(host_name, hostuser,host_pass);

      加入兩行:

      mysql_query("set character set 'utf8'");//讀庫  mysql_query("set names 'utf8'");//寫庫

      就可以正常的讀寫MYSQL數(shù)據(jù)庫了。

      四.JS相關(guān)的UTF-8編碼問題

      1.JS讀Cookie的中文亂碼問題

      PHP寫cookie的時(shí)候需要將中文字符進(jìn)行escape編碼,
      否則JS讀到cookie中的中文字符將是亂碼。
      但php本身沒有escape函數(shù),我們新寫一個(gè)escape函數(shù):

      function escape($str) { preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r);  $ar = $r[0];  foreach($ar as $k=>$v)  {  if(ord($v[0]) < 128)  $ar[$k] = rawurlencode($v);  else $ar[$k] = "%u".bin2hex(iconv("UTF-8","UCS-2",$v));  }  return join("",$ar);  }

      JS讀cookie的時(shí)候,用unescape解碼,

      然后就解決cookie中有中文亂碼的問題了。

      2.外部JS文件UTF-8編碼問題

      當(dāng)一個(gè)HTML頁面或則PHP頁面包含一個(gè)外部的JS文件時(shí),

      如果HTML頁面或則PHP頁面是UTF-8編碼格式的文件,

      外部的JS文件同樣要轉(zhuǎn)成UTF-8的文件,

      否則將出現(xiàn),沒有包含不成功,調(diào)用函數(shù)時(shí)沒有反應(yīng)的情況。

      點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,

      如果是ANSI,需要將編碼改成:UTF-8。

      五.FLASH相關(guān)的UTF-8編碼問題

      FLASH內(nèi)部對所有字符串,默認(rèn)都是以UTF-8處理
      1.FLASH讀文普通本文件(txt,html)
      要將文本文件的編碼存為UTF-8
      點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,
      如果是ANSI,需要將編碼改成:UTF-8。

      2.FLASH讀XML文件
      要將XML文件的編碼存為UTF-8
      點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,
      如果是ANSI,需要將編碼改成:UTF-8。
      在XML第1行寫:

      3.FLASH讀PHP返回?cái)?shù)據(jù)
      如果PHP編碼本身是UTF-8的,直接echo就可以了
      如果PHP編碼本身是GB2312的,可以將PHP轉(zhuǎn)存成UTF-8編碼格式的文件,直接echo就可以了
      如果PHP編碼本身是GB2312的,而且不允許改文件的編碼格式,
      用下面的語句將字符串轉(zhuǎn)換成UTF-8的編碼格式
      newstr=iconv("GB2312","UTF?8","str”);
      再echo就可以了

      4.FLASH讀數(shù)據(jù)庫(MYSQL)的數(shù)據(jù)
      FLASH要通過PHP讀取數(shù)據(jù)庫中的數(shù)據(jù)
      PHP本身的編碼不重要,關(guān)鍵是如果數(shù)據(jù)庫的編碼是GB2312的話,
      需要用下面的語句將字符串轉(zhuǎn)換成UTF-8的編碼格式
      newstr=iconv("GB2312","UTF?8","str”);

      5.FLASH通過PHP寫數(shù)據(jù)
      一句話,F(xiàn)LASH傳過來的字符串是UTF-8格式的,
      要轉(zhuǎn)換成相應(yīng)的編碼格式,再操作(寫文件、寫數(shù)據(jù)庫、直接顯示等等)
      還是用iconv函數(shù)轉(zhuǎn)換

      6.FLASH使用本地編碼(理論上不推薦使用)
      如果想讓FLASH不使用UTF-8編碼,而是使用本地編碼
      對于中國大陸地區(qū)而言,本地編碼是GB2312或GBK
      AS程序內(nèi),可以添加以下代碼:
      System.useCodepage = true;
      那么FLASH內(nèi)所有字符都是使用GB2312的編碼了
      所有導(dǎo)入到FLASH或者從FLASH導(dǎo)出的數(shù)據(jù),都應(yīng)該做相應(yīng)的編碼轉(zhuǎn)換
      因?yàn)槭褂帽镜鼐幋a,會(huì)造成使用繁體中文地區(qū)的用戶產(chǎn)生亂碼,所以不推薦使用

      原文地址: http://www.jb51.net/article/30064.htm

      一.HTML頁面轉(zhuǎn)UTF-8編碼問題
      1.在head后,title前加入一行:

      <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />

      順序不能錯(cuò),一定要在

      顯示的標(biāo)題有可能是亂碼!

      2.html文件編碼問題:

      點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,
      如果是ANSI,需要將編碼改成:UTF-8。

      3.HTML文件頭BOM問題:
      將文件從其他的編碼轉(zhuǎn)換成UTF-8編碼時(shí),有時(shí)候會(huì)在文件的最開始加上一個(gè)BOM標(biāo)簽,
      在個(gè)BOM標(biāo)簽可能會(huì)導(dǎo)致瀏覽器在顯示中文的時(shí)候出現(xiàn)亂碼。
      刪除這個(gè)BOM標(biāo)簽的方法:

      1.可以用Dreamweaver打開文件,并重新保存,即可以去除BOM標(biāo)簽!

      2.可以用EditPlus打開文件,并在菜單“首選項(xiàng)”->“文件”->”UTF-8標(biāo)識(shí)”,設(shè)置為:“總是刪除簽名”,
      然后保存文件,即可以去除BOM標(biāo)簽!

      4.WEB服務(wù)器UTF-8編碼問題:
      如果你按以上所列的步驟做了,還是有中文亂碼問題,
      請檢查你的所使用的WEB服務(wù)器的編碼問題
      如果你使用的是Apache,請將配置文件里的:charset 設(shè)成:utf-8(這里僅列出方法,具體格式請參考apache的配置文件)
      如果你使用的是Nginx,請將nginx.conf里的:charset 設(shè)成 utf-8,
      具體找到 “charset gb2312;”或者類似的語句,改成:“charset utf-8;”。

      二.PHP頁面轉(zhuǎn)UTF-8編碼問題

      1.在代碼開始出加入一行:
      header(“Content-Type: text/html;charset=utf-8”);

      2.PHP文件編碼問題

      點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,
      如果是ANSI,需要將編碼改成:UTF-8。

      3.PHP文件頭BOM問題:
      PHP文件一定不可以有BOM標(biāo)簽
      否則,會(huì)出現(xiàn)session不能使用的情況,并有類似的提示:
      Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent
      這是因?yàn)?,在?zhí)行session_start() 的時(shí)候,整個(gè)頁面不能有輸出,但是當(dāng)由于前PHP頁面存在BOM標(biāo)簽,
      PHP把這個(gè)BOM標(biāo)簽當(dāng)成是輸出了,所以就出錯(cuò)了!
      所以PHP頁面一定要?jiǎng)h除BOM標(biāo)簽
      刪除這個(gè)BOM標(biāo)簽的方法:

      1.可以用Dreamweaver打開文件,并重新保存,即可以去除BOM標(biāo)簽!

      2.可以用EditPlus打開文件,并在菜單“首選項(xiàng)”->“文件”->”UTF-8標(biāo)識(shí)”,設(shè)置為:“總是刪除簽名”,
      然后保存文件,即可以去除BOM標(biāo)簽!

      4.PHP以附件形式保存文件的時(shí)候,UTF-8編碼問題:
      PHP以附件形式保存文件,文件名必須是GB2312編碼,
      否則,如果文件名中有中文的話,將是顯示亂碼:
      如果你的PHP本身是UTF-8編碼格式的文件,
      需要將文件名變量由UTF-8轉(zhuǎn)成GB2312:
      iconv(“UTF-8”, “GB2312”, “$filename”);

      5.截?cái)囡@示文章標(biāo)題時(shí),出現(xiàn)亂碼或者“?”問號的問題:
      一般文章標(biāo)題很長的時(shí)候,會(huì)顯示一部分標(biāo)題,會(huì)對文章標(biāo)題進(jìn)行截?cái)啵?
      由于一個(gè)UTF-8編碼格式的中文字符會(huì)占用3個(gè)字符寬度,
      截取標(biāo)題的時(shí)候,有時(shí)會(huì)只截取到一個(gè)中文字符的1個(gè)字符或2字符寬度,
      沒截取完整,將出現(xiàn)亂碼或“?”問號的情況,
      用下面的函數(shù)截取標(biāo)題,就不會(huì)有問題:

      unction get_brief_str($str, $max_length)  {  echo strlen($str) ."<br>";  if(strlen($str) > $max_length)  {  $check_num = 0;  for($i=0; $i < $max_length; $i++)  {  if (ord($str[$i]) > 128)  $check_num++;  }   if($check_num % 3 == 0)  $str = substr($str, 0, $max_length)."...";  else if($check_num % 3 == 1)  $str = substr($str, 0, $max_length + 2)."...";  else if($check_num % 3 == 2)  $str = substr($str, 0, $max_length + 1)."...";  }  return $str;  }

      三.MYSQL數(shù)據(jù)庫使用UTF-8編碼的問題

      1.用phpmyadmin創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表
      創(chuàng)建數(shù)據(jù)庫的時(shí)候,請將“整理”設(shè)置為:“utf8_general_ci”
      或執(zhí)行語句:

      CREATE DATABASE dbname DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
      創(chuàng)建數(shù)據(jù)表的時(shí)候:如果是該字段是存放中文的話,則需要將“整理”設(shè)置為:“utf8_general_ci”,

      如果該字段是存放英文或數(shù)字的話,默認(rèn)就可以了。

      相應(yīng)的SQL語句,例如:

      CREATE TABLE `test` (  `id` INT NOT NULL ,  `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,  PRIMARY KEY ( `id` )  ) ENGINE = MYISAM ;

      2.用PHP讀寫數(shù)據(jù)庫

      在連接數(shù)據(jù)庫之后:

      [hide]connection=mysqlconnect(host_name, hostuser,host_pass);

      加入兩行:

      mysql_query("set character set 'utf8'");//讀庫  mysql_query("set names 'utf8'");//寫庫

      就可以正常的讀寫MYSQL數(shù)據(jù)庫了。

      四.JS相關(guān)的UTF-8編碼問題

      1.JS讀Cookie的中文亂碼問題

      PHP寫cookie的時(shí)候需要將中文字符進(jìn)行escape編碼,
      否則JS讀到cookie中的中文字符將是亂碼。
      但php本身沒有escape函數(shù),我們新寫一個(gè)escape函數(shù):

      function escape($str) { preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r);  $ar = $r[0];  foreach($ar as $k=>$v)  {  if(ord($v[0]) < 128)  $ar[$k] = rawurlencode($v);  else $ar[$k] = "%u".bin2hex(iconv("UTF-8","UCS-2",$v));  }  return join("",$ar);  }

      JS讀cookie的時(shí)候,用unescape解碼,

      然后就解決cookie中有中文亂碼的問題了。

      2.外部JS文件UTF-8編碼問題

      當(dāng)一個(gè)HTML頁面或則PHP頁面包含一個(gè)外部的JS文件時(shí),

      如果HTML頁面或則PHP頁面是UTF-8編碼格式的文件,

      外部的JS文件同樣要轉(zhuǎn)成UTF-8的文件,

      否則將出現(xiàn),沒有包含不成功,調(diào)用函數(shù)時(shí)沒有反應(yīng)的情況。

      點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,

      如果是ANSI,需要將編碼改成:UTF-8。

      五.FLASH相關(guān)的UTF-8編碼問題

      FLASH內(nèi)部對所有字符串,默認(rèn)都是以UTF-8處理
      1.FLASH讀文普通本文件(txt,html)
      要將文本文件的編碼存為UTF-8
      點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,
      如果是ANSI,需要將編碼改成:UTF-8。

      2.FLASH讀XML文件
      要將XML文件的編碼存為UTF-8
      點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,
      如果是ANSI,需要將編碼改成:UTF-8。
      在XML第1行寫:

      3.FLASH讀PHP返回?cái)?shù)據(jù)
      如果PHP編碼本身是UTF-8的,直接echo就可以了
      如果PHP編碼本身是GB2312的,可以將PHP轉(zhuǎn)存成UTF-8編碼格式的文件,直接echo就可以了
      如果PHP編碼本身是GB2312的,而且不允許改文件的編碼格式,
      用下面的語句將字符串轉(zhuǎn)換成UTF-8的編碼格式
      newstr=iconv("GB2312","UTF?8","str”);
      再echo就可以了

      4.FLASH讀數(shù)據(jù)庫(MYSQL)的數(shù)據(jù)
      FLASH要通過PHP讀取數(shù)據(jù)庫中的數(shù)據(jù)
      PHP本身的編碼不重要,關(guān)鍵是如果數(shù)據(jù)庫的編碼是GB2312的話,
      需要用下面的語句將字符串轉(zhuǎn)換成UTF-8的編碼格式
      newstr=iconv("GB2312","UTF?8","str”);

      5.FLASH通過PHP寫數(shù)據(jù)
      一句話,F(xiàn)LASH傳過來的字符串是UTF-8格式的,
      要轉(zhuǎn)換成相應(yīng)的編碼格式,再操作(寫文件、寫數(shù)據(jù)庫、直接顯示等等)
      還是用iconv函數(shù)轉(zhuǎn)換

      6.FLASH使用本地編碼(理論上不推薦使用)
      如果想讓FLASH不使用UTF-8編碼,而是使用本地編碼
      對于中國大陸地區(qū)而言,本地編碼是GB2312或GBK
      AS程序內(nèi),可以添加以下代碼:
      System.useCodepage = true;
      那么FLASH內(nèi)所有字符都是使用GB2312的編碼了
      所有導(dǎo)入到FLASH或者從FLASH導(dǎo)出的數(shù)據(jù),都應(yīng)該做相應(yīng)的編碼轉(zhuǎn)換
      因?yàn)槭褂帽镜鼐幋a,會(huì)造成使用繁體中文地區(qū)的用戶產(chǎn)生亂碼,所以不推薦使用

      原文地址: http://www.jb51.net/article/30064.htm

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號