在Rails 3.2.22和Ruby2.2.2中,当我提出请求时,我获得了log writing failed. "\xCB" from ASCII-8BIT to UTF-8 (以及与“\xD9”类似的错误)作为Rails日志中的唯一输出。实际上,以下是启动并向服务器发出一个请求时的开发日志:
>> Thin web server (v1.5.0 codename Knife)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3001, CTRL+C to stop
log writing failed. "\xCB" from ASCII-8BIT to UTF-8
log writing failed. "\xD9" from ASCII-8BIT to UTF-8
log writing failed. "\xD9" from ASCII-8BIT to UTF-8回报总是光秃秃的“找不到”。
这是在更新蜻蜓宝石(它带来了一个小的Fog更新)之后出现的,但除非配置文件严重出错,否则我看不出这是怎么造成的。Rspec测试运行,但是Cucumber特性使用Capybara从服务器请求页面失败(因为它们只是“找不到”)。
这类似于"rake测试和错误:日志写入失败。从ASCI-8位到UTF-8位的"\xE2“",但对这个问题的公认答案是,“找出生成UTF-8字符串的内容并修复它的编码”,而我没有很好的线索来找出生成字符串的内容。
ETA:蜻蜓更新确实是问题所在。我返回更新,然后一步一步地浏览他们的更新指南,而当我仍然从服务器获得相同的响应时,蜻蜓现在正在登录到Rails记录器,并且我得到了
DRAGONFLY: couldn't json decode string - got 795: unexpected token at 'i٢'所以在某种程度上,蜻蜓是罪魁祸首。
ETA2:在一个类似的问题在蜻蜓的Github回购之后,我将allow_legacy_urls true添加到我的蜻蜓配置中,现在错误是:
DRAGONFLY: couldn't marshal decode string - got incompatible marshal file format (can't be read)
format version 4.8 required; 105.217 given...which与在"Rails不兼容的封送文件格式“中发现的错误几乎完全相同(”给定“马歇尔版本不同),但是那里的解决方案并没有帮助我。
发布于 2016-01-06 15:28:24
最后,问题似乎是某种未刷新的缓存。为了处理其他问题,我将分支搁置了几天,在此期间,我在其他分支上多次停止并重新启动开发服务器。当我返回到这个分支时,我回滚到了蜻蜓升级之前,然后运行了我想做的所有其他gem更新,最后做了蜻蜓升级,按照升级说明。这一次我没有问题。
因此,我最好的猜测是,有一些缓存项(或缓存映射)是在一个不完整的升级过程中遗留下来的,这实际上使缓存无效,从而导致了所报告的错误。
发布于 2015-12-24 17:53:58
也许你有一些非标准的美国英语字符。
你可以用
# -*- coding: utf-8 -*-在你的红宝石档案的顶部,这导致了问题。
https://stackoverflow.com/questions/34456081
复制相似问题