• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP读取目录含特殊字符会变成?怎么将让MYSQL正确显示插入的UTF8编码数据

php 搞代码 3年前 (2022-01-24) 20次浏览 已收录 0个评论

PHP读取目录含特殊字符会变成?,如何将让MYSQL正确显示插入的UTF8编码数据
123.txt文件编码UTF8,浏览器页面编码UTF8,Windows系统,代码页936
新建文件夹内只有一个文件夹,文件名为http://zhidao.baidu.com/link?url=9iTctYWxBKDqzxTH-QrBs5t6Q9lhRkutHCfJHaGRNlzsswkqWsnYLdtKfCk7F_AJQwMm2yxJmoOCLDGipSjr-a这里的爱心,CSDN不让直接发出来=。=

<br /><?php<br />	$path = iconv("UTF-8", "GBK", "F:/新建文件夹/");<br />	$dir = dir($path);<br />	$fopen = fopen("F:/123.txt", "a");<br />	<br />	while ($file = $dir->read()) {<br />		if ($file != "." && $file != "..") {<br />			$file = iconv("GBK", "UTF-8", $file);<br />			echo $file;<br />			//fwrite($fopen, $file));<br />		}<br />	}<br />	fclose($fopen);<br />?><br />

不论是echo输出在浏览器还是保存到123.txt中,都显示的是/本文来源gao@!dai!ma.com搞$$代^@码5网@搞代gaodaima码?。
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的内容显示,可以这样写。

<br /><?php<br />$path = iconv("UTF-8", "GBK", dirname(__FILE__).'/新建文件夹/');<br />$file = '123.txt';<br /><br />echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';<br />echo file_get_contents($path.$file);<br />?><br />

关键是<meta http-equiv=”content-type” content=”text/html; charset=utf8″> 这句,设置页面编码。

2.如果要数据库保存不乱码,可以设置mysql
character_set_client:客户端来源数据使用的字符集
character_set_connection:连接层字符集
character_set_results:查询结果字符集
为utf8,
关于mysql 编码设置可以参考 http://blog.gaodaima.com/fdipzone/article/details/18180325
这个与编码没有什么关系吧?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP读取目录含特殊字符会变成?怎么将让MYSQL正确显示插入的UTF8编码数据
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址