当前位置:首页 > PHP教程 > php应用 > 列表

php ord 函数与中文乱码解决方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-19 22:05:22 浏览: 评论:0 

php string 函数,定义和用法:ord() 函数返回字符串第一个字符的 ascii 值.

语法:ord(string)

参数 描述

string 必需,要从中获得 ascii 值的字符串.

echo ord('我');这里只能返回230,我是以u8保存的文件并输出的,它得到的只有230, 而230转换成hex是e6,实际上u8中我的编码是e68891,这样你就明白了吧,其实它只拿到了第一个字节.

echo chr(0xe6).chr(0x88).chr(0x91);这里例子可以在u8的情况下输出我这个汉字,你看到了,这里用了3次chr才得到这个汉字,代码如下:

  1. <?php  
  2. //a字符  
  3. $str=(pack("a*""中国"));  
  4. echo $str,"=",strlen($str),"字节n";  
  5. getascill($str);  
  6. //h字符  
  7. $str=(pack("h*""fffe"));  
  8. echo $str,"=",strlen($str),"字节n";  
  9. getascill($str);  
  10. //c字符  
  11. $str=(pack("c*""55","56","57"));  
  12. echo $str,"=",strlen($str),"字节n";  
  13. getascill($str); 
  14. //i字符 短整形 32位 4个字节 64位8个字节  
  15. $str=(pack("i""100"));  
  16. echo $str,"=",strlen($str),"字节n";  
  17. getascill($str); 
  18. //s字符 短整形 2个字节  
  19. $str=(pack("s""100"));  
  20. echo $str,"=",strlen($str),"字节n";  
  21. getascill($str); 
  22. //l字符 长整形 4个字节  
  23. $str=(pack("l""100"));  
  24. echo $str,"=",strlen($str),"字节n";  
  25. getascill($str); 
  26. //f字符 单精度浮点 4个字节  
  27. $str=(pack("f""100"));  
  28. echo $str,"=",strlen($str),"字节n";  
  29. getascill($str); 
  30. //d字符 双精度浮点 8个字节  
  31. $str=(pack("d""100"));  
  32. echo $str,"=",strlen($str),"字节n";  
  33. getascill($str); 
  34. function getascill($str)  
  35. {  
  36. $arr=str_split($str);  
  37. foreach ($arr as $v)  
  38. //开源软件:phpfensi.com 
  39. echo $v,"=",ord($v),"n";  
  40. }  
  41. echo "=============rnrn";  
  42. ?>

Tags: ord函数 php中文乱码

分享到: