当前位置: 编程技术>php
本页文章导读:
▪php Ajax乱码
而AJAX支持UTF8 好了,先在PHP页上加个header(”content-type:text/html; charset=utf-8″); 告诉网页这个实现的编码是UTF-8 然后把要输出的内容用$test = iconv('gbk', ‘utf-8′, $test);转一下编码 然后在输出.........
▪PHP提取中文首字母
代码如下:<? function pykey( $py_key) { $pinyin = 65536 + pys($py_key); if ( 45217 <= $pinyin && $pinyin <= 45252 ) { $zimu =.........
▪php出现Cannot modify header information问题的解决方法大全
这样的语句,很显然,造成这个原因是因为setcookie造成的,查了一下网上,有如下的解释: cookie本身在使用上有一些限制,例如: 1.呼叫setcookie的敘述必須放在<html>标签之.........
[1]php Ajax乱码
来源: 互联网 发布时间: 2013-11-30
而AJAX支持UTF8
好了,先在PHP页上加个header(”content-type:text/html; charset=utf-8″);
告诉网页这个实现的编码是UTF-8
然后把要输出的内容用$test = iconv('gbk', ‘utf-8′, $test);转一下编码
然后在输出
大家有兴趣可以看看
<?php
header(”content-type:text/html; charset=utf-8″);
$test=”我是中文”;
echo $test;
$test = iconv('gbk', ‘utf-8′,$ test);
echo $test;
?>
[2]PHP提取中文首字母
来源: 互联网 发布时间: 2013-11-30
代码如下:
<?
function pykey( $py_key)
{
$pinyin = 65536 + pys($py_key);
if ( 45217 <= $pinyin && $pinyin <= 45252 )
{
$zimu = "A";
return $zimu;
}
if ( 45253 <= $pinyin && $pinyin <= 45760 )
{
$zimu = "B";
return $zimu;
}
if ( 45761 <= $pinyin && $pinyin <= 46317 )
{
$zimu = "C";
return $zimu;
}
if ( 46318 <= $pinyin && $pinyin <= 46825 )
{
$zimu = "D";
return $zimu;
}
if ( 46826 <= $pinyin && $pinyin <= 47009 )
{
$zimu = "E";
return $zimu;
}
if ( 47010 <= $pinyin && $pinyin <= 47296 )
{
$zimu = "F";
return $zimu;
}
if ( 47297 <= $pinyin && $pinyin <= 47613 )
{
$zimu = "G";
return $zimu;
}
if ( 47614 <= $pinyin && $pinyin <= 48118 )
{
$zimu = "H";
return $zimu;
}
if ( 48119 <= $pinyin && $pinyin <= 49061 )
{
$zimu = "J";
return $zimu;
}
if ( 49062 <= $pinyin && $pinyin <= 49323 )
{
$zimu = "K";
return $zimu;
}
if ( 49324 <= $pinyin && $pinyin <= 49895 )
{
$zimu = "L";
return $zimu;
}
if ( 49896 <= $pinyin && $pinyin <= 50370 )
{
$zimu = "M";
return $zimu;
}
if ( 50371 <= $pinyin && $pinyin <= 50613 )
{
$zimu = "N";
return $zimu;
}
if ( 50614 <= $pinyin && $pinyin <= 50621 )
{
$zimu = "O";
return $zimu;
}
if ( 50622 <= $pinyin && $pinyin <= 50905 )
{
$zimu = "P";
return $zimu;
}
if ( 50906 <= $pinyin && $pinyin <= 51386 )
{
$zimu = "Q";
return $zimu;
}
if ( 51387 <= $pinyin && $pinyin <= 51445 )
{
$zimu = "R";
return $zimu;
}
if ( 51446 <= $pinyin && $pinyin <= 52217 )
{
$zimu = "S";
return $zimu;
}
if ( 52218 <= $pinyin && $pinyin <= 52697 )
{
$zimu = "T";
return $zimu;
}
if ( 52698 <= $pinyin && $pinyin <= 52979 )
{
$zimu = "W";
return $zimu;
}
if ( 52980 <= $pinyin && $pinyin <= 53640 )
{
$zimu = "X";
return $zimu;
}
if ( 53689 <= $pinyin && $pinyin <= 54480 )
{
$zimu = "Y";
return $zimu;
}
if ( 54481 <= $pinyin && $pinyin <= 62289 )
{
$zimu = "Z";
return $zimu;
}
$zimu = $py_key;
return $zimu;
}
function pys( $pysa )
{
$pyi = "";
$i= 0;
for ( ; $i < strlen( $pysa ); $i++)
{
$_obfuscate_8w= ord( substr( $pysa,$i,1) );
if ( 160 < $_obfuscate_8w)
{
$_obfuscate_Bw = ord( substr( $pysa, $i++, 1 ) );
$_obfuscate_8w = $_obfuscate_8w * 256 + $_obfuscate_Bw - 65536;
}
$pyi.= $_obfuscate_8w;
}
return $pyi;
}
$letter = pykey("中华人民共和国");
echo $letter;
?>
[3]php出现Cannot modify header information问题的解决方法大全
来源: 互联网 发布时间: 2013-11-30
这样的语句,很显然,造成这个原因是因为setcookie造成的,查了一下网上,有如下的解释: cookie本身在使用上有一些限制,例如:
1.呼叫setcookie的敘述必須放在<html>标签之前
2.呼叫setcookie之前,不可使用echo
3.直到網頁被重新載入後,cookie才會在程式中出現
4.setcookie函数必須在任何資料輸出至浏览器前,就先送出
5.……
基於上面這些限制,所以執行setcookie()函数时,常會碰到"Undefined index"、"Cannot modify header information - headers already sent by"…等問題,解決"Cannot modify header information - headers already sent by"这个錯誤的方法是在产生cookie前,先延缓資料输出至浏览器,因此,您可以在程式的最前方加上ob_start();这个函數。这样就可以解决 了。 如果要加上ob_start()的话,不大可行,程序都写完了,才来改这个似乎有点郁闷.. 发现提示这个错误的时候,我就在想我本地怎么没提示这个问题呢,还以为是PHP.ini配置不一样,想想又不对,都是差不多的..
于是看看后面跟的那句"output started at...."意思是在setcookie之前已经在另一处有输出了,于是找到output started at后面跟的那个文件,看到第一行是空白的,然后才是<?php 这样开始,难道会是这一行的问题吗??我本地也有这一行呢,去掉,刷新再试,呵呵,果然出在这里,不再提示warning了
解决完毕!
解决方法二:
查找网上解决此问题的方法多是一样的,不过今天又遇到了这样的问题。试过之后发现可行:
在C盘的WINDOWS中找到php.ini 这个配置文件,然后查找一项:output_buffering将其值由原来的off改为on,重新启动Apache就ok了。
1.呼叫setcookie的敘述必須放在<html>标签之前
2.呼叫setcookie之前,不可使用echo
3.直到網頁被重新載入後,cookie才會在程式中出現
4.setcookie函数必須在任何資料輸出至浏览器前,就先送出
5.……
基於上面這些限制,所以執行setcookie()函数时,常會碰到"Undefined index"、"Cannot modify header information - headers already sent by"…等問題,解決"Cannot modify header information - headers already sent by"这个錯誤的方法是在产生cookie前,先延缓資料输出至浏览器,因此,您可以在程式的最前方加上ob_start();这个函數。这样就可以解决 了。 如果要加上ob_start()的话,不大可行,程序都写完了,才来改这个似乎有点郁闷.. 发现提示这个错误的时候,我就在想我本地怎么没提示这个问题呢,还以为是PHP.ini配置不一样,想想又不对,都是差不多的..
于是看看后面跟的那句"output started at...."意思是在setcookie之前已经在另一处有输出了,于是找到output started at后面跟的那个文件,看到第一行是空白的,然后才是<?php 这样开始,难道会是这一行的问题吗??我本地也有这一行呢,去掉,刷新再试,呵呵,果然出在这里,不再提示warning了
解决完毕!
解决方法二:
查找网上解决此问题的方法多是一样的,不过今天又遇到了这样的问题。试过之后发现可行:
在C盘的WINDOWS中找到php.ini 这个配置文件,然后查找一项:output_buffering将其值由原来的off改为on,重新启动Apache就ok了。
最新技术文章: