草庐IT

php - 浏览器在 UTF-8 cakePHP 应用程序上检测到 ISO-8859-1 编码

在我客户端的服务器上,当我浏览应用程序时,字符是错误的,因为所有浏览器(Firefox、Chrome、IE)都将页面解码为ISO-8859-1而不是UTF-8。本地运行良好,在我的服务器上也运行良好。我有一个用cakePHP1.3.12开发的应用程序:所有文件的默认编码为无BOM的UTF-8。所有页面都有metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"在core.php中Configure::write('App.encoding','UTF-8');在database.php中var$default=arra

php - Carbon 解析为 ISO8601

我正在尝试获取当前时间并将其格式化为:"2018-09-26T21:40:29+02:00"但是当我尝试时:$isoDate=\Carbon\Carbon::now()->format('c');据我所知,将c传递给格式化函数会将其解析为iso8601,但显然并非如此。有关如何将当前时间解析为ISO8601OR20181001T094006Z的任何帮助 最佳答案 Carbon::now()->toISOString()这将返回“2020-05-12T13:13:42.817684Z”Carbon::now()->toIso8601S

php - utf8 到 ISO-8859-1 无法通过 Curl 正确转换某些字符

我有一个采用UTF8编码字符的应用程序,需要使用ISO-8859-1编码通过curl将它们作为xml的一部分发送。这是我的测试代码:header('Content-Type:text/plain;charset=IS0-8859-1');$message='§°"@#€%&/()=+`´^¨*-_:.;,';echomb_convert_encoding($message,'ISO-8859-1','UTF-8');//buildxmltopost$content=''.CUSTOMER_ID.''.PASSWORD_ID.'+12345678900';$posturl=MT_URL;

php - file_get_contents() 将 UTF-8 转换为 ISO-8859-1

我正在尝试从yahoo.com获取搜索结果.但是file_get_contents()将UTF-8字符集(雅虎使用的字符集)内容转换为ISO-8859-1。尝试:$filename="http://search.yahoo.com/search;_ylt=A0oG7lpgGp9NTSYAiQBXNyoA?p=naj%C5%A1%C5%A5astnej%C5%A1%C3%AD&fr2=sb-top&fr=yfp-t-701&type_param=&rd=pref";echofile_get_contents($filename);脚本为header('Content-Type:text/

php - 页面以 'ISO-8859-1' 作为元字符集时被浏览器检测为 UTF-8

我正在处理站点传输,在此过程中我的字符集被弄乱了。一开始,我把所有的文件都原封不动地转移过来,新服务器上的文件显示特殊字符的图标。浏览器的字符编码(Chrome和FF)一瞥告诉我它正在自动检测UTF-8。页面的元字符集设置为ISO-8859-1。副本是从多个数据库中的各种表中提取的(不要问)。在原始站点上,所有内容均按应有的方式显示。在新网站上,...我深入研究,在php.ini中找到默认字符集=“UTF-8”,将其设置为空。现在站点上的大部分页面显示正常,浏览器识别元字符集标签,大家都很高兴;也就是说,直到我导航到根以外的文件夹。这个文件夹中的文件,虽然它们的元字符集是ISO-885

PHP Datetime 无法转换负 ISO8601 日期

用DateTime转换负日期让我出错测试代码var_dump(\DateTime::createFromFormat(\DateTime::ISO8601,'-0001-11-30T00:00:00+0100'));结果booleanfalse预期结果object(DateTime)[5]public'date'=>string'-0001-11-3000:00:00'(length=20)public'timezone_type'=>int1public'timezone'=>string'+01:00'(length=6)(或类似的东西)附言负日期字符串是用$d->format(\

php - 将 DateInterval 格式化为 ISO8601

我目前正在开发一个php项目,需要将DateInterval格式化为ISO8601(类似这样):P5D此格式可用于创建DateTime和DateInterval对象,但我想不出将DateInterval格式化为此格式的方法。有没有?如果不是,什么是轻量级解决方案? 最佳答案 扩展solutionprovidedbyDave和solutionprovidedbyGuss.添加ISO8601标准持续时间的T部分并且不需要默认为P0M的解决方法是在之后插入2个额外的检查>P0Y替换为Y。Y0M替换为YP0M替换为P将D0H更改为TD0H替

php - 单字节字符编码 (ISO-8859-1) HTML 文档中的两个字节字符

我了解到ISO-8859-1是单字节字符集。见页面http://www.manoramaonline.com/cgi-bin/MMOnline.dll/portal/ep/malayalamContentView.do?tabId=11&programId=1073753760&BV_ID=@@@&contentId=15238737&contentType=EDITORIAL&articleType=Malayalam%20News.它使用的是马拉雅拉姆语。HTTPheader和元标记表明它使用ISO-8859-1作为字符编码。但在此页面中使用了两个字节字符(0x201A)(http

php - PHP 中的 ISO 3779 车辆 VIN 解码器?

有谁知道以PHP、Perl或Python(或任何其他语言,我可以轻松转换代码)作为开源/免费软件提供的ISO3779车辆VIN解码器库?即使只是解码WMI部分(前3个位置)也会节省我很多时间。提前致谢。http://en.wikipedia.org/wiki/Vehicle_identification_number 最佳答案 我会让您从维基百科抓取数据,但下面是一个您可以扩展的快速(模块化)示例(完成WMI->Init()方法)。我也可能将VINLookup类设为单例或将WMI分解到数据库中(在某处规范化数据并将其视为base-3

php - 转换 H :i to ISO 8601 duration standard

食谱的持续时间以如下字符串形式存储在我的数据库中:“01:50”我试图将其转换为ISO8601持续时间标准,但没有成功。这是我用来调用该字段并将其解析为页面的内容:$totalTime=($extraField->value);$itempr="itemprop=\"totalTime\"content=\"$totalTime\"";像这样,在谷歌结构化数据测试工具中显示为“00:50”,谷歌不接受。据我了解,它应该是这样的:PT1H50M有人知道如何将其转换为ISO8601格式吗?请记住,我并不热衷于使用PHP进行开发,因此请尽可能多地进行解释。谢谢!