最近、私のビューの更新を試みていましたが、星を表すためのバニラアスタリスク "*"文字を、 ★ "(U + 2605、" &#x2605 ";" &#9733 "; 0xE2 0x98 0x85(e29885))。適切なビューの文字列に文字を追加すると、すべてがうまくいくように見えました。そのようなビューの1つを以下に示します。REMOTEビューのUnicode文字が原因でGemラック・グーグル・アナリティクスが失敗する
_recent_updates.html.haml
%table.tablesorter#home
%thead
%tr#header
%th#year Year
%th#name Player Name
%th#position Position
%th#school School
%th#stars Stars
%tbody
- @recent_commits.each do |rc|
%tr{:class => cycle("odd", "even")}
%td#class= rc.player.year
%td#name= link_to display_name(rc.player), player_path(rc.player.slug)
%td#position= Position.find(rc.player.position_id).abbr if rc.player.position_id
%td#school= link_to rc.school.name, school_path(rc.school.slug)
%td#stars= "#{display_star(rc.player.vc_star_rating)}★"
私はこのアップデートをリリースし、私のビジネスに合っていました。数日後、Googleアナリティクスでトラフィックがどのようにサイトに送られているかを確認しました。私は、この期間中にサイトに大量のトラフィックがあったことを知っていたので、いくつかのチェックを行い、Google Analyticsのコードに問題があることに気付きました。プロダクションのページのソースコードを見ると、ここに私が見たものがあります。
<--! ...My Page Contents -->
<script type="text/javascript">
if (typeof gaJsHost == 'undefined') {
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-XXXXXXXX-1");
pageTracker._trackPageview();
} catch(err) {}</scr
彼らが効果的にそれが突然終了させ、私のページの一番下を食べたように、Unicode文字で消費される余分なバイトが行方不明だったことが表示されます。私が見ていたはずのことは、スクリプトタグが終了しているはずで、bodyタグとhtmlタグの終わりです。
<--! ... My Page Contents -->
<script type="text/javascript">
if (typeof gaJsHost == 'undefined') {
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-XXXXXXXX-1");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>
私は(星とアスタリスクの交換は、問題のコミットの変化だけだった)のgitから、前の変更に戻し、そして私のGoogle Analyticsのトラッキングコードが再び正常に動作し、私のスクリプト、身体とhtmlタグはすべて適切な終了タグを持っています。
私の質問は2倍です。
- は、どのように私は私のコードの末尾を食べずに私のビューに戻すスターの文字を追加するには?
- 私は、UTF-8がRails 3.1でそのままサポートされていると思ったのですが、なぜこれが起こっていますか?
残念ながら、これらのどちらもが支援してきました。 –