关于php读取文本文件的问题 现在我有一个TXT文件,里面有中文和其他字符。我想用fgetc把中文读出来,但是可能是因为fgetc是读取一个字符的原因,而中文是两个字符,直接输出的话是乱码,请问各位高人怎么解决这个问题?最好有实例程序! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $text = '';if ($fp = fopen('txt.txt', 'rb')) { while ($line = fgets($fp)) { $text .= preg_replace('/[\x00-\x7f]+/', '', $line); } fclose($fp);}echo $text; 谢谢你,再问下,我这个TXT里面有藏文,怎么把藏文字符读出来呢?就是不知道正则表达式怎么写? 藏文?请先把txt文件的编码格式确定说一下,汉字和藏文同时存在的话只能是GB18030或者unicode如果输出到浏览器,保持使用相同的编码就不会有乱码 TXT另可存为UTF-8的,我的网页就是用UTF-8。请问preg_replace('/[\x00-\x7f]+/', '', $line);是什么意思?我在网上还搜到一段,function check_is_chinese($s){ return preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$s); 也可以判断是不是中文,在UTF-8字符集下面。那\x00-\x7f是什么意思? 如果是utf-8就可以忽略\x00-\x7f这个问题了,不适用因为你没说清楚,#1以为你是gb2312的编码[\x{4e00}-\x{9fa5}]是大部分汉字的unicode内码范围另外,我不清楚藏文,看unicode上面写[\x{0f00}-\x{0fff}]是藏文的unicode内码范围(就这么少?),你可以用到你的程序中去判断 为什么iconv把不识别的字符转换成0 如何让数据不要以科学计数法输出 我好苦恼,希望有过来人指点一下 php webservices 如何设置会话超时时间 elseif 和 else if 有啥区别 求一个PHP正则 很简单的 zend 5.0.0 的小问题 以下是我的一个新闻系统的后台登录页面的源码。请教高手,为什么我输入密码后总是无法登录?密码是test 谁来解释下 mysql_unbuffered_query 什么做用~ 为什么有时候要将一段完整的php代码分开写呢? 如何关掉apache错误日志呢? 求助,关于留言板的问题
if ($fp = fopen('txt.txt', 'rb')) {
while ($line = fgets($fp)) {
$text .= preg_replace('/[\x00-\x7f]+/', '', $line);
}
fclose($fp);
}
echo $text;
是什么意思?
我在网上还搜到一段,function check_is_chinese($s){
return preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$s);
也可以判断是不是中文,在UTF-8字符集下面。
那\x00-\x7f是什么意思?
[\x{0f00}-\x{0fff}]是藏文的unicode内码范围(就这么少?),你可以用到你的程序中去判断