繁体   English   中英

字符编码问题和PHP-这是什么编码?

[英]Character encoding issues and PHP - what encoding is this?

我的计算机上有一个文件,希望使用PHP复制到MySQL表中。 当我打开文件时,内容看起来像普通文本一样好-但是,当我尝试使用PHP读取文件或将其插入到MySQL表中时,会得到各种各样的时髦字符。 我以为这可能是utf-8问题,所以我尝试设置标头

header('Content-type: text/html; charset=utf-8');

然后回显由file_get_contents()检索的内容,但这没有任何区别-输出仍然很时髦。 然后我以为这可能是cp1252问题,所以我尝试使用htmlentities(),但这也无济于事:

htmlentities($str, ENT_QUOTES, 'cp1252')

然后,我将文件上传到网站( 此处 )。 在服务器上,当我“捕获”文件时,它看起来又正常了,但是在Firefox中,当我打开它时,我得到了一些时髦的字符。 这是我的屏幕截图屏幕截图

奇怪的是,我将相同的确切文件复制到同一服务器上的另一个网站的文件夹中,但是当我在新的URL中打开该文件时(请参阅此处 ),该文件在Firefox中看起来有所不同-仍然有些时髦的字符,但是字符较少。 不同外观的屏幕截图屏幕截图

有人知道这是怎么回事,我怎么清理角色? 此文件使用什么字符编码-从服务器上的一个网站复制到另一个网站时,为什么同一文件在Firefox中看起来有所不同?

您的文件位于UTF-16中; 尝试将其用作Firefox中的编码。 它看起来更正确,尽管仍然有一些CJK杂散字符,这可能是因为您的某些字符的字节序错误。

请记住,在所有问题均得到良好答案的情况下接受答案; 缺乏声誉激励的情况下,Stack Overflow上的许多人可能无法继续回答您的问题。

我以前遇到过这个问题。 隐藏的字符无法在某些IDE中显示。

通过在记事本中打开文件并复制文本,然后删除文件,我能够解决此问题。 然后,我从头开始创建文件,然后仅粘贴纯文本。

您不想使用写字板之类的东西来复制文本,因为这也会复制隐藏的字符。

编辑:

您可能还想尝试接受某些人对您以前的问题的回答,因为如果愿意帮助您的人知道他们会提供声誉,您会得到他们的更多答复。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM