很多站长朋友们都不太清楚php中文ascii,今天小编就来给大家整理php中文ascii,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 汉字怎样转换十六进制php 2、 请教这PHP转义函数为什么对中文字符输出的是 \304\343\272\303 3、 怎样解决PHP中文乱码问题 4、 PHP中文乱码 汉字怎样转换十六进制php//汉字进制转换
//$string 传入的汉字或其它字符
//$tobase 要转换的进制 范围 2~36 之间任意取值
//$back 返回形式,0 转换成进制代码 ; 1 将进制转换成汉字
function ASCII($String,$tobase,$back){
if( $tobase > 1 $tobase < 37 ){
if($back == 0){
return preg_replace('/(.)/es',"str_pad(base_convert(ord('\\1'),10,$tobase),8,'0',STR_PAD_LEFT)",$String);
}else{
return preg_replace('/(\w{8})/e',"chr(base_convert('\\1',$tobase,10))",$String);
}
}else{
return false;
}
}
//范例
$str = '我爱你';
$en = ASCII($str,2,0); // 转换成2进制: 111001101000100010010001111001111000100010110001111001001011110110100000
echo ASCII($en,2,1); // 转换成汉字:我爱你
$en = ASCII($str,8,0); // 转换成8进制: 000003460000021000000221000003470000021000000261000003440000027500000240
echo ASCII($en,8,1); // 转换成汉字:我爱你
$en = ASCII($str,10,0); // 转换成10进制: 000002300000013600000145000002310000013600000177000002280000018900000160
echo ASCII($en,10,1); // 转换成汉字:我爱你
$en = ASCII($str,10,0); // 转换成10进制: 000002300000013600000145000002310000013600000177000002280000018900000160
echo ASCII($en,10,1); // 转换成汉字:我爱你
$en = ASCII($str,16,0); // 转换成10进制: 000000e60000008800000091000000e700000088000000b1000000e4000000bd000000a0
echo ASCII($en,16,1); // 转换成汉字:我爱你
请教这PHP转义函数为什么对中文字符输出的是 \304\343\272\303string addcslashes ( string str, string charlist )
返回字符串,该字符串在属于参数 charlist 列表中的字符前都加上了反斜线。此函数对 \n、\r 等进行转义。像 C 那样,ASCII 码低于 32 以及高于 126 的字符均转换成使用八进制表示。
当你选择对字符 0、a、b、f、n、r、t 和 v 进行转义时需要小心,它们将被转换成 \0、\a、\b、\f、\n、\r、\t 和 \v。在 PHP 中,只有 \0(NULL)、\r(回车符)、\n(换行符)和 \t(分隔符)是预定义的转义序列, 而在 C 中,上述的所有转换后的字符都是预定义的转义序列。
charlist 参数,如“\0..\37”,将转义所有 ASCII 码介于 0 和 37 之间的字符
怎样解决PHP中文乱码问题乱码指的是计算机系统不能显示正确的字符,而显示其他无意义的字符或空白,如一堆ASCII Code。所显示出来的文字统称为乱码。乱码是因为所使用的字符的源码在本地计算机上使用了错误的显示字库,或在本地计算机的字库中找不到相应于源码所指代的字符所致。
通俗点讲:
乱码就是你打开王页或邮箱,里面的字不是全中文的,而是一些乱七八糟莫名其妙的无意义的字符组合在一起。主要是计算机的字库出错所致。
1一般出现在网页,用网页上面的查看——编码——简体中文即可解决。
2 出现乱码一般是Windows系统字库的问题,可能是系统错误或不正常关机造成的,也可能是某些软件需要使用操作系统以外的字库造成的。解决办法得看具体的问题,一般情况下的Windows乱码可以通过以下三种方法解决。
第一种方法是下载 解决Windows XP SP2乱码补丁 V1.00 (华军软件园)
第二种是解决Windows系统错误造成的乱码问题,重启后用F8键激活系统菜单,进入安全模式。等系统检查完毕,硬盘没有响应后再重新正常退出并重新启动计算机,正常进入Windows,字体一般就能自动恢复。这是因为Windows在进入安全模式时会重新索引字库及整理菜单。
第三种解决方法用于修正软件造成的注册表中关于字体部分设置出错的问题。运行“Regedit”启动注册表编辑器。在“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\fontassoc”键下有 “Associated CharSet”和“Associated DefaultFonts” 两个键。当出现汉字乱码时,这两个键中的内容就可能不正确甚至不完整。它们的正确内容应该是“Associated CharSet”内有“(默认)、ANSI(00)、GB2312(86)、OEM(FF)、SYMBOL(02)”几项串值,键值分别为“(未设置键值)、Yes、Yes、Yes、No”,而“Associated DefaultFonts”内有“(默认)、AssocSystemFont、FontPackegeDecorative、FontPackegeDontCare、FontPackegeModern、FontPackegeRoman、FontPackegeScript、FontPackegeSwiss”几项串值,键值分别为“(未设置键值)、simsun.ttf、宋体、宋体、宋体、宋体、宋体、宋体”。重新启动系统后汉字就应该显示正确了。建议您在修改前先备份注册表,以防修改错误使系统出现问题。
PHP中文乱码meta 头里 写 是 gbk 或者 gb2312 没有叫 gbk2312的
1. 检查PHP文件本身的编码 ,一般在 editplus 打开后 右下角能看到 ansi 就算正常了。
2. 写meta标记
3. 查看数据库本身的编码, 还有数据表 ,文本型字段的编码。 这些在 phpmyadmin里就能看到
4. $result->query("set names gbk") 这个当然要用。
5. 还有一种可能是 你插入数据的页面 和 显示数据的页面 编码不相同,
你先检查上面的 所有编码 然后把数据删除了 ,重新插入 在看看
关于php中文ascii的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php中文ascii php中文网的详细内容...