サポート » 使い方全般 » Ktai Style リクエストデータの文字化け

  • 解決済 hotman2zz

    (@hotman2zz)


    初めての投稿になります。
    現在、Ktai Style2.0.5を使わせてもらってます。

    セッションデータとPOSTデータを出力すると文字化けして困っています。
    過去フォーラムで出力時
    mb_convert_encoding($str, ‘UTF-8’, ‘auto’);
    っとする事で仮サーバ時は文字化けもなく表示したのですが。。

    実機サーバ(仮サーバと同じもの使用)にテーマごとデータを上げたのですが再度リクエストデータのみが文字化けする現象が発生して困っています。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    文字コード絡みはけっこう複雑ですね。

    どういうタイミングで $_SESSION や $_POST を必要にしていますか? $_POST については、自動的に文字コード変換するする仕組みが入っていますが、それを有効にするにはフォームの方に ks_fix_encoding_form() を入れておく必要があります。

    $_SESSION() は自動変換の対象外ですので、適宜変換してやる必要があります。auto だとデータによってはうまく変換されない可能性が高いです。あらかじめ $_SESSION に決め打ちデータ「これは文字化け防止用の検出文字列です」などを入れておいて、この文字列のエンコーディングを調べてそれに従って欲しいデータを変換させると確実です。

    トピック投稿者 hotman2zz

    (@hotman2zz)

    ご返答ありがとうございます。

    どういうタイミングで $_SESSION や $_POST を必要にしていますか?

    現在ECサイトを作成しておりまして$_SESSIONはカートのデータを保持し購入内容の確認ページで表示しています。$_POSTデータは、フォームでの入力データを保持させていますので
    ks_fix_encoding_form()を入れて再度チャレンジしてみます。

    トピック投稿者 hotman2zz

    (@hotman2zz)

    フォーム内にks_fix_encoding_form()を入れる事で$_POSTデータの出力時の文字化けしなくなりました。

    $_SESSION()データも文字コードを調べ変換させる事で問題が解決しました。
    本当にありがとうございました。

    初歩的な質問ですみません。
    私も同じところで引っかかっていて、止まっています。
    「フォーム内にks_fix_encoding_form()を入れる」とは、どういうことでしょうか?

    WordPress固定ページのhtml文の<form></form>の間に
    <?php ks_fix_encoding_form(); ?>
    を書き加えると、エラーになってしまいます。

    根本的に間違っているのでしょうか?

    モデレーター IKEDA Yuriko

    (@lilyfan)

    初歩的な質問ですみません。
    私も同じところで引っかかっていて、止まっています。
    「フォーム内にks_fix_encoding_form()を入れる」とは、どういうことでしょうか?

    このフォーラムは「1質問1トピック」となっておりますので、便乗質問は原則として禁止です。
    特に、「解決済み」の質問で便乗質問をすると、せっかく解決済みになったのにその状態が崩れてしまいますから困ります。

    ks_fix_encoding_form() は Ktai Style 専用タグですから、固定ページの HTML に直接書くと、PC 閲覧時は「存在しない関数」としてエラーになるのは当然です。
    is_ktai() もしくは function_exists() と組み合わせて使ってください。

    ルール違反申し訳ありません。以後気をつけます。
    解答ありがとうございました。

    </form> の直前の<?php と ?> の間に
    if (function_exists(‘is_ktai’) && is_ktai()) {
    ks_fix_encoding_form();//////////携帯判定と文字コード変更
    }

    を追記することで文字化けがなくなりました。

    文字化けには結構苦しめられています。日本語というのは厄介な言葉ですね。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    解決して何よりです。

    文字化けには結構苦しめられています。日本語というのは厄介な言葉ですね。

    歴史的事情で複数の文字コードが存在するので仕方ないですね。数年もすれば携帯でも UTF-8 をそのまま見せればよくなるので文字化け問題はほとんどなくなるでしょう。

    欧米でも、ドイツ語やフランス語のように us-ascii で済まない言語だと微妙にややこしい問題がありますし、アラビアのように右から左に書く言語も複雑ですよ。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「Ktai Style リクエストデータの文字化け」には新たに返信することはできません。