我正在处理站点传输,在此过程中我的字符集被弄乱了。一开始,我把所有的文件都原封不动地转移过来,新服务器上的文件显示<?>特殊字符的图标。浏览器的字符编码(Chrome 和 FF)一瞥告诉我它正在自动检测 UTF-8。页面的元字符集设置为 ISO-8859-1。副本是从多个数据库中的各种表中提取的(不要问)。
在原始站点上,所有内容均按应有的方式显示。在新网站上,<?> ...我深入研究,在 php.ini 中找到默认字符集 =“UTF-8”,将其设置为空。现在站点上的大部分页面显示正常,浏览器识别元字符集标签,大家都很高兴;也就是说,直到我导航到根以外的文件夹。
这个文件夹中的文件,虽然它们的元字符集是 ISO-8859-1,但不知何故告诉浏览器被读取为 UTF-8,这意味着我看到了 <?>在这些页面上。如果我将浏览器设置为读取为 ISO-8859-1,那么它显示正常。自动检测将其重置为 UTF-8。有什么想法吗?
谢谢!
更新(从下面的评论中添加):
我通过 W3C checker 运行页面正如 martinstoeckli 所推荐的,它告诉我 HTTP Content-Type 是 Content-Type: text/html; charset=utf-8而元标记是 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> ,这给了我一个Conflicting character encoding declarations 错误。疯狂的是,我终究无法弄清楚 UTF-8 声明的来源!它在任何文件中都没有,所有文件都保存为不带 BOM 的 UTF-8,php.ini 设置为声明没有默认值,文件夹的 .htaccess 设置为 PatomaS 建议的。
(就其值(value)而言,Mozilla 的 Web Sniffer 确认 HTTP header Content-Type 为 text/html; charset=utf-8。)
更新: 虽然我们没有像我提出的那样找到解决这个问题的方法,但我确实决定解决我的字符编码问题的最佳方法是重构所有内容以使用 UTF-8 编码。当然,这可能意味着您会在这里看到我提出更多令人兴奋的新手问题,例如“为什么 utf8-encode() 不能执行我的 łâùñdrÿ?”
当然,这意味着谜团仍然存在:是什么导致服务器发送 UTF-8 的 HTTP 内容类型字符集 header ,而一切似乎都配置不同?
最佳答案
文件中可能有 BOM(字节顺序标记)。为确保使用 notepad++ 打开文件并选中 Coding menu ,您还可以选择 convert to ansi 作为测试选项。
顺便说一句,我建议在任何地方都使用 utf-8 是一种更好的长期方法。
关于php - 页面以 'ISO-8859-1' 作为元字符集时被浏览器检测为 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994850/
我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',
我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby1.9+ 关于ruby-主要:Objectwhenrun
我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳
我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request
似乎无法为此找到有效的答案。我正在阅读Rails教程的第10章第10.1.2节,但似乎无法使邮件程序预览正常工作。我发现处理错误的所有答案都与教程的不同部分相关,我假设我犯的错误正盯着我的脸。我已经完成并将教程中的代码复制/粘贴到相关文件中,但到目前为止,我还看不出我输入的内容与教程中的内容有什么区别。到目前为止,建议是在函数定义中添加或删除参数user,但这并没有解决问题。触发错误的url是http://localhost:3000/rails/mailers/user_mailer/account_activation.http://localhost:3000/rails/mai
我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查