1.文字化けします。
まず、お客様のPHPの設定をご確認ください。サーバサイドSHTML(体験版を含む)は、UTF-8版とEUC-JP版、Shift_JIS版の3つがあり、別々のプログラムになります。お客様のPHPの内部エンコーディングと同一のサーバサイドSHTMLをご利用いただけていますでしょうか? また、内部エンコーディングと異なる文字コードにmb_convert_encoding()関数などを用いて変換した後に、弊社提供の難読化関数getEncryption_shtml関数の引数として渡されていませんか? EUC-JP版のサーバサイドSHTMLは、難読化対象の文字列がEUC-JPであるという前提で設計されています。同様に、UTF-8版のサーバサイドSHTMLは、UTF-8でエンコードされた文字列を難読化するという前提で設計されています(こちらの関連質問もご参照ください。)。 次に、サーバサイドSHTMLで難読化した場合、HTMLソースのそのほとんどが英数字になります。そのため、ブラウザがShift_JISのサイトであると誤認する可能性が相対的に高くなります。そこで、メタタグを必ず指定してください。 また、そうできない特別な理由がない限り、PHPファイルの中で、header関数で文字コードを指定するようにしてください。 header("Content-type: text/html; charset=UTF-8"); のような感じです。 2. 特定のページで、レイアウトが崩れます。
いくつかの条件が重なると、レイアウトが崩れることがあります。それは仕様ですが、解決方法はあります。 まず、レイアウトが崩れるケースの条件ですが、
対策は、 getEncryption_shtml関数を呼び出すのを複数回に分けていただくことです。問題のJSファイルを含むソースを境界にしてソースを分割して難読化させるようにします。例を挙げて説明しますと、 shtml_logo.jsというJSファイル内にて、Flashファイル表示用のHTMLソース(objectタグやembedタグ)をdocument.writeしている場合を考えてみます。 |