POPSブログ

UTF-8設定とファイルの取り扱いに注意

10

  Category:  basercms2012/02/01 pops 

BaserCMSでは、UTF-8設定,UTF-8ファイルの取り扱いに注意すること,思わぬところで墓穴をほる。わからん状態におちいる。


UTF-8設定とファイルの取り扱いに注意


BaserCMSでは、UTF-8設定とファイルの取り扱いに注意してください


  • サーバーで「UTF-8」の設定がなされていないと、正常に機能しない、文字化けなどがおこります。
  • UTF-8ファイルも扱いを間違えると、問題をおこします。保存形式を統一しておきましょう。(UTF-8N LF)

【参考】basercms.net: エディターが文字化けしてしまいます


IE7で記事編集時オーバーフェローする

IE8が出た時点で、IE8を導入したがFLASH表示時クラッシュが多いため、直ぐにIE7に戻して以来IE7を使用していた。
BaserCMSで記事編集時にキャッシュのオーバーフェローがおきるので、少し長い記事が編集できない。そのためIE8に切り替えた。Chromeと目的により使い分けいる。


Google Chromeで編集時文字化け

2012/02/10 に新バージョン、Chrome(17.0.963.46 m)になってからは、文字化けはおきない。

管理画面でブログ記事をIE8で編集保存していても正常でしたが。Google Chromeで編集していたら文字化けしたので、UTF-8設定をいじくってもあまり変わらんのでその日は終いにして、
(Chrome以外正常なようであるから、「Chrome文字化けバージョン」なのだろうと思ったが、ムキに直そうと試みた、、結果)


管理画面の画像がぶっ飛んだ

あくる日、管理画面に行ったら「画像」が無かった。CORNER-JSも機能していなかった、挙句の果てに「問い合わせのパスワード文字画像」もつくられていなかった。一夜で悲惨な管理画面に変貌した。
サーバーを構築してから昨日まで(1ヶ月)管理画面はずっと正常である。はじめはサーバーなどの不具合かなと思っていた。いくら時間がたっても直らない。症状から見てもUTF-8設定の不具合である。CSS.JS.BaserCMSファイルの書き換えなど頻繁に行いながら記事編集をしていたからどのファイルが悪いのか皆目見当が付かない。サーバーを調べたりファイルを調べて「UPし直し」したりと偉い時間がかかった。

画像は全部だめだが、PHP、JSのエラーはおきない。CSSも正常です。管理画面は大変みずらいが使用は出来る状態にはある。つかえないが、、
(間違ったコードのファイルを送ったのか?、危惧はあったが「わからん」状態。)


初期設定に internal_encoding utf-8 としていた

当初 DmainKing は文字設定が EUC-JP であると、「ある記事」にのっていたので、サイトUPの際に.htaccess設定を


php_value mbstring.internal_encoding utf-8

最初から、encoding utf-8 としていた。何の問題も無く旨く行ってた。(本来、する必要はなかったのだ!)


急に直った、何で直ったか原因不明

あれやこれや、設定変更で、直そうとしているうちに php_value mbstring.internal_encoding UTF-8 で急に直った?。
色々文字化けの修正途中に、UTF-8N 以外の間違ったファイルを送った恐れもある、色々と確認してサイトUPしたりしている「繁雑作業」途中なので、恐らく原因はファイルのコード違いだったのだろうと思う。
そのうち.htaccess設定に何も書かずしても、「文字化け」しないのに気づいた。EUC-JP ではなく最初からサーバー設定、php設定が UTF-8 では無いかと思うので確認してみた。


<?php echo mb_internal_encoding() ?>
UTF-8 である

最初から UTF-8 で在った。


DmainKingでのサーバー設定関連説明は皆無に近い

どこでもその傾向にあるが、取分けその説明不足の傾向は強い。あるのはメール、FTP設定位である。でも支払い関連の説明は充実している。
安いゼヨ。「あとは勝手にしてくれサーバー」である。しいて言えば全てを知る専門家用のレンタルサーバーだ。だから説明など不要である。

サイバー問題などの起きる昨今、「説明一切無」しのほうが利口なやり方である。何があっても使用者責任でとうるからな。判らんことでもない。安くして文句言われたら「頭ン中炎上爆発」するもんナ

あまりにも説明なしもチトこまる。で、
.htaccess設定に関して少し聞いておこうと考え、一応 DmainKingにメールで確認したが、


2012/02/14
[問い]
> phpのencodingはUTF-8か、EUC-JPか?
> .htaccessの設定、php_value は設定できるのか?
> php.ini、は置けるのか?
[答え]
上記の件でございますが、誠に申し訳ございませんが、
「BaserCMC」の設定等に関しましては、弊社ではわかりかねますので、
お手数ではございますが、「BaserCMC」のユーザーズフォーラム等で
ご確認いただきますようお願いいたします。
上記の件でございますが、「php.ini」の編集を行うことはできませんので、
「php.ini」の設定値をご変更されたい場合、お客さまにて「.htaccess」ファイル
を設置していただき、変更を行っていただく形となります。
なお、「.htaccess」にて、「php_value」の設定の変更は
可能でございます。

通常、このようなこと「問い合わせ」ても、どこでもサーバー関連の設定など、詳しくは答えないものだ。返信きたには「ビックリ」した。


DmainKing設定

● サーバー、PHPともに UTF-8 で動いている
● 「php.ini」は置けないが、
● 「.htaccess」ファイルでの「php_value」の設定の変更は可能。
管理画面からの、サーバー、PHP設定変更出来ないから、「.htaccess」であらかた出来るということだろう。


よって現在の設定は


#
# /.htaccess
# 現在設定
#php_value mbstring.internal_encoding UTF-8
php_value memory_limit 64M

初期32Mあるが、64Mにしている。encodingは解除して、無設定である。


レンタルサーバーの当たり外れ

レンタルサーバーの「当たり」「外れ」「満足度」なんてゆうが、「当たり外れ」なんて無い、価格破壊の現在、いうならばレンタルは「全て外れ、満足度0%」だ。昔から変わりはない。
「当たり」たいなら、自分で全て 購入 構築 設置 運用 するほか方法は無いに決まっている。
レンタルサーバーは安けりゃよい、それで十分だ。サービスなんていらない、遅いだろうが、故障でも、つながり悪くとも、ファイルが消えても、何があってもOK、驚かんゼヨ。安すいのにあれやこれや望むのは「無理」というものだ。
昔は高かった。100M容量2年のサーバーレンタルだけで「20万」吹っ飛んだ、CGIだめ、勿論サービスなんて何も無い、高い、故障、繋がらないこれ常識の時代だった。それ以来「低価格重視」路線脇目も振らずマッシグラだ。広告が嫌いだから無料サーバーは使わない。


テキストエデッタにTeraPad

BaserCMSの場合は全てUTF-8文字で取り扱わなければならないのは当然のことですが。単にBaserCMSをサイトにUPして記事を書いていくだけならば問題は少ないだろうが、色々と修正など行っていると、思わぬところで失敗する。

私の場合はテキストエデッタにTeraPadを使用しています。私自身としては他と比べて使いやすいので重宝しています。当然、日本語を扱いますからUTF-8N保存になります。


TeraPadで日本語を含まない「英字UTF-8ファイル」を開くと画面では「Shift_JIS」になります。知らずに上書きすると「Shift_JISで保存」されてしまいます。
日本語を含む「UTF-8N保存ファイル」を開くとUTF-8N 表示になりますが、上書きするするときも UTF-8N を再確認して保存しないと思わぬところで失敗します。


UTF-8Nを扱う場合、日本語のないUTF-8Nファイルでも、「日本語」の文字を中に書き入れ、「UTF-8Nの上書き」を確認しながら進めます。
一度、日本語をいれて「UTF-8N保存」をしておくと、以後UTF-8Nです。上書き保存もUTF-8Nです。そのため「日本語のないファイル」でも「わざわざ日本語を入れてUTF-8N保存」しています。うっかり「Shift_JIS保存」を避けるためです。


間違うと CSS が正常でなかったり文字化けしたり、JS が動かなかったりします。

TeraPad: TeraPadはシンプルなSDIタイプのテキストエディタです


偉い失敗しましたが、少し利口になりました。笑え。



[ この記事のURL ]


タグ:memo , basercms

 

ブログ記事一覧



[1]