PHP读取目录含特殊字符会变成?怎么将让MYSQL正确显示插入的UTF8编码数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP读取目录含特殊字符会变成?怎么将让MYSQL正确显示插入的UTF8编码数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1541字,纯文字阅读大概需要3分钟。
内容图文
![PHP读取目录含特殊字符会变成?怎么将让MYSQL正确显示插入的UTF8编码数据](/upload/InfoBanner/zyjiaocheng/225/70172f1121164120a65b4aec1d5fb3cf.jpg)
123.txt文件编码UTF8,浏览器页面编码UTF8,Windows系统,代码页936
新建文件夹内只有一个文件夹,文件名为http://zhidao.baidu.com/link?url=9iTctYWxBKDqzxTH-QrBs5t6Q9lhRkutHCfJHaGRNlzsswkqWsnYLdtKfCk7F_AJQwMm2yxJmoOCLDGipSjr-a这里的爱心,CSDN不让直接发出来=。=
$path = iconv("UTF-8", "GBK", "F:/新建文件夹/");
$dir = dir($path);
$fopen = fopen("F:/123.txt", "a");
while ($file = $dir->read()) {
if ($file != "." && $file != "..") {
$file = iconv("GBK", "UTF-8", $file);
echo $file;
//fwrite($fopen, $file));
}
}
fclose($fopen);
?>
不论是echo输出在浏览器还是保存到123.txt中,都显示的是?。
1、我试过is_dir($path.$file);显示空,所以我估计这个问号不是显示问题而是read()时windows返回的就是ASCII的?,请问要正常读取应该如何解决?
2、另外要将UTF8编码的数据存储到MYSQL中,而且要求在MYSQL中不显示乱码,请问MYSQL中数据库、表和列的数据类型和排序类型应该如何选择?
谢谢!我看你的程序
1.$fopen没有使用到,创建的目的是什么?
2.is_dir($path.$file);显示空,因为is_dir是判断是否目录,而$path.$file是文件,因此返回false。
如果只是需要读出123.txt的内容显示,可以这样写。
$path = iconv("UTF-8", "GBK", dirname(__FILE__).'/新建文件夹/');
$file = '123.txt';
echo '';
echo file_get_contents($path.$file);
?>
关键是 这句,设置页面编码。
2.如果要数据库保存不乱码,可以设置mysql
character_set_client:客户端来源数据使用的字符集
character_set_connection:连接层字符集
character_set_results:查询结果字符集
为utf8,
关于mysql 编码设置可以参考 http://blog.csdn.net/fdipzone/article/details/18180325
这个与编码没有什么关系吧?
内容总结
以上是互联网集市为您收集整理的PHP读取目录含特殊字符会变成?怎么将让MYSQL正确显示插入的UTF8编码数据全部内容,希望文章能够帮你解决PHP读取目录含特殊字符会变成?怎么将让MYSQL正确显示插入的UTF8编码数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。