Xajax亂碼解決辦法
用xajax給blog寫了幾個AJAX的應用,比如這個搜索頁面,挺容易的,xajax到底是現在PHP下面最好的module,而且是為數不多的支持中文。
不過在開發中還是遇到中文亂碼的問題,因為xajax的XMLHTTP對象Post表單的時候,是默認的用UTF-8字符來發送的。如果你的網頁本來就是用的UTF-8編碼的話,那么接收到的數據是正常的;如果你的網頁編碼是GB2312的話,問題就來了,POST過來的數據是UTF-8,而你整個站點是用GB2312來顯示,那么所有的中文字符將全部變成亂碼。
解決的方法其實也很簡單,在php里面用 iconv( "UTF-8", "gb2312" , $FormValues['a']) 函數轉換一下就可以了。
另外需要在 xajax.class.php 需要改一下默認的encoding:
define ('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312' );
Windows主機下如果是php4.3.x版本需要單獨加載iconv()函數庫(需要在php.ini中正確設置extension_dir,比如extension_dir = "C:/php/extensions/"
,同時需要取消;extension=php_iconv.dll一行前面的;號,并將c:\php\dlls\iconv.dll復制到c:\windows\system32目錄下。
posted on 2007-07-21 22:25
豪 閱讀(356)
評論(0) 編輯 收藏 引用 所屬分類:
php學習與實踐