最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決了Ajax、MySQL 和 Zend Framework 的亂碼問題

 更新時(shí)間:2009年03月03日 22:35:00   作者:  
功夫不負(fù)有心人,花了將近一天時(shí)間,終于解決了Ajax 、MySQL 和 Zend Framework 的亂碼問題。現(xiàn)在總結(jié)如下,以供參考。
問題:
在 Google Map 上用 Ajax 以 get 方式向服務(wù)器傳遞數(shù)據(jù)時(shí),服務(wù)器端顯示為 url 亂碼,
Zend Framework 向 MySQL 存儲(chǔ)數(shù)據(jù)為亂碼,但是提取出來又是正常中文字體,
MySQL 中輸入中文,顯示在 PHP 網(wǎng)頁(yè)上為亂碼。
解決方式:
1. Ajax 的 url 編碼需要轉(zhuǎn)換,我使用的如下函數(shù):
public function js_unescape($str)
{
$ret = '';
$len = strlen($str);
for ($i = 0; $i < $len; $i++)
{
if ($str[$i] == '%' && $str[$i+1] == 'u')
{
$val = hexdec(substr($str, $i+2, 4));
if ($val < 0x7f) $ret .= chr($val);
else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));
else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));
$i += 5;
}
else if ($str[$i] == '%')
{
$ret .= urldecode(substr($str, $i, 3));
$i += 2;
}
else $ret .= $str[$i];
}
return $ret;
}
調(diào)用示例: $row->name =XmlController::js_unescape( $this->getRequest()->getParam('name') );
2. 把所有涉及編碼的地方都設(shè)為 utf8(php) 或 utf-8
MySQL 包括數(shù)據(jù)庫(kù),數(shù)據(jù)表,字段,數(shù)據(jù)庫(kù)連接。
Zend Framework 包括數(shù)據(jù)連接,視圖和html輸出。
Ajax 包括 Javascript ,XML 的文件編碼和字體編碼。
Zend Framework數(shù)據(jù)連接編碼設(shè)置:
參考http://phpeye.com/bbs/redirect.php?fid=2&tid=81&goto=nextoldset
Zend_Db_Table::setDefaultAdapter($dbAdapter);
Zend_Registry::set('dbAdapter', $dbAdapter);
$dbAdapter->query("SET NAMES 'utf8'");
如果是 PHP 直接連接則這樣設(shè)置:
// Select all the rows in the markers table
$query = "SELECT * FROM markers WHERE 1";
//select 數(shù)據(jù)庫(kù)之后加多這一句
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");

相關(guān)文章

  • 比f(wàn)ile_get_contents穩(wěn)定的curl_get_contents分享

    比f(wàn)ile_get_contents穩(wěn)定的curl_get_contents分享

    相信使用過file_get_contents函數(shù)的朋友都知道,當(dāng)獲取的$url訪問不了時(shí),會(huì)導(dǎo)致頁(yè)面漫長(zhǎng)的等待,甚至還能導(dǎo)致PHP進(jìn)程占用CPU達(dá)100%,因此這個(gè)函數(shù)就誕生了
    2012-01-01
  • php array 轉(zhuǎn)json及java 轉(zhuǎn)換 json數(shù)據(jù)格式操作示例

    php array 轉(zhuǎn)json及java 轉(zhuǎn)換 json數(shù)據(jù)格式操作示例

    這篇文章主要介紹了php array 轉(zhuǎn)json及java 轉(zhuǎn)換 json數(shù)據(jù)格式操作,結(jié)合實(shí)例形式分析了PHP針對(duì)array數(shù)組轉(zhuǎn)json以及Java操作Map、List、對(duì)象與json格式轉(zhuǎn)換的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-11-11
  • 也談php網(wǎng)站在線人數(shù)統(tǒng)計(jì)

    也談php網(wǎng)站在線人數(shù)統(tǒng)計(jì)

    db層: db_online.PHP //該函數(shù)使用戶自己在線,并且檢查其他用戶的在線情況
    2008-04-04
  • php函數(shù)與傳遞參數(shù)實(shí)例分析

    php函數(shù)與傳遞參數(shù)實(shí)例分析

    這篇文章主要介紹了php函數(shù)與傳遞參數(shù)的方法,以實(shí)例形式分析了函數(shù)按值傳遞的具體用法,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • php實(shí)現(xiàn)通過cookie換膚的方法

    php實(shí)現(xiàn)通過cookie換膚的方法

    這篇文章主要介紹了php實(shí)現(xiàn)通過cookie換膚的方法,通過cookie存儲(chǔ)用戶選擇信息實(shí)現(xiàn)換膚效果,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 使用NetBeans + Xdebug調(diào)試PHP程序的方法

    使用NetBeans + Xdebug調(diào)試PHP程序的方法

    前些天發(fā)現(xiàn)通過Notepad++的DBGP插件結(jié)合PHP的xdebug擴(kuò)展可以實(shí)現(xiàn)PHP文件調(diào)試,同時(shí),介紹說包含了單步調(diào)試、監(jiān)視變量還有跨文件調(diào)試。
    2011-04-04
  • php下MYSQL limit的優(yōu)化

    php下MYSQL limit的優(yōu)化

    MYSQL的優(yōu)化是非常重要的。其他最常用也最需要優(yōu)化的就是limit。mysql的limit給分頁(yè)帶來了極大的方便,但數(shù)據(jù)量一大的時(shí)候,limit的性能就急劇下降。
    2008-01-01
  • PHP觀察者模式原理與簡(jiǎn)單實(shí)現(xiàn)方法示例

    PHP觀察者模式原理與簡(jiǎn)單實(shí)現(xiàn)方法示例

    這篇文章主要介紹了PHP觀察者模式原理與簡(jiǎn)單實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了php觀察者模式的概念、原理、實(shí)現(xiàn)方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-08-08
  • php獲取漢字拼音首字母的方法

    php獲取漢字拼音首字母的方法

    這篇文章主要介紹了php獲取漢字拼音首字母的方法,需要的朋友可以參考下
    2015-10-10
  • php安全攻防利用文件上傳漏洞與繞過技巧詳解

    php安全攻防利用文件上傳漏洞與繞過技巧詳解

    這篇文章主要介紹了php安全攻防如何利用文件上傳漏洞與繞過技巧詳解,有需要的朋友可以參考借鑒下,希望大家多多進(jìn)步早日升職加薪
    2021-10-10

最新評(píng)論

手游| 孟州市| 台北县| 东乌| 彰武县| 金乡县| 荔波县| 收藏| 桑植县| 丰原市| 云霄县| 葵青区| 治县。| 封开县| 曲沃县| 疏勒县| 香河县| 云安县| 万州区| 吉安市| 奎屯市| 株洲市| 阿拉尔市| 黄浦区| 榕江县| 科技| 榆林市| 嘉兴市| 莎车县| 临泽县| 崇州市| 武宣县| 大港区| 疏勒县| 宕昌县| 潮安县| 吉首市| 鸡泽县| 寿阳县| 阿尔山市| 许昌县|