safariで文字化けする話と6行テトリスの話
どうも今回はsafariの文字コードの話です。
6行テトリスって何ぞやって感じですが、最後に説明します。
いつ化ける?
普段のウェブベージでは文字化けすることはないが、書いたhtmlファイルをsafariで開くと化けることがありました。
原因&応急処置
原因
どうやら文字コードが合わないそう。
確かに考えてみればそのくらいしか無いかも…
応急処置
メニューバーで表示メニューからテキストエンコーディング、utf-8とかにします。これで大体直ると思います。
設定を変える(解決)
safariの設定から詳細タブ、デフォルトのエンコーディングをutf-8とかに設定。
これでこのあと読み込んでも普通に文字化けしません。
utf-8のデメリットとかあるんかな。
まとめ
実は前から文字化けするなーとは思ってたんです。ただ別にそこまで困んないしといった感じだったんですけど、ある日6行テトリスというものを見つけてやろうとしたら、safariだと文字化けしちゃってこれは直さないとな~と思ってやってみたら案外簡単だったという感じです。
おまけ(6行テトリス)
そもそも解決しようとした原因です。
どうやらhtmlとjava scriptを使っているので普通にhtmlファイルに保存すれば出来るそうです。
これをhtmlに保存してブラウザで起動するとできます。(safari非推奨)
<body id=D onKeyDown=K=event.keyCode-38><script>Z=X=[B=A=12];function Y(){for(C
=[q=c=i=4];f=i--*K;c-=!Z[h+(K+6?p+K:C[i]=p*A-(p/9|0)*145)])p=B[i];for(c?0:K+6?h
+=K:t?B=C:0;i=K=q--;f+=Z[A+p])k=X[p=h+B[q]]=1;h+=A;if(f|B)for(Z=X,X=[l=228],B=[
[-7,-20,6,h=17,-9,3,3][t=++t%7]-4,0,1,t-6?-A:2];l--;)for(l%A?l-=l%A*!Z[l]:(P+=
k++,c=l+=A);--c>A;)Z[c]=Z[c-A];for(S="";i<240;S+=X[i]|(X[i]=Z[i]|=++i%A<2|i>228
)?i%A?"■":"■<br>":"_");D.innerHTML=S+P;Z[5]||setTimeout(Y,i-P)}Y(h=K=t=P=0)
</script>
なんかnoteでgifアップロードできないのでyoutubeに置いておきます。
ショートになっちゃった。
実はsafariだと左の枠が同時に動くのと四角が小さくてやりにくかったです。