PHP4での携帯絵文字変換についての質問です。

変換モジュールはここのを使っています。
http://sourceforge.jp/projects/emoji/

以前、PHP3国際版でSJISで記述していた際には、問題なく&#形式への変換などができていました。

今回サーバーの移行に伴い、PHP4のスクリプトをEUCで記述しています。
emoji.phpファイル自体も文字コードをEUCに変換しました。
これで動かすと、携帯端末から入力しても絵文字をうまく変換できません。

上記スクリプトをどのように設定して使っているのかを教えて下さい。


php.iniの設定の抜粋は下記の通りです。
---------------------------------------------
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/06/17 20:49:42
  • 終了:--

回答(2件)

id:iloveny No.1

iloveny回答回数77ベストアンサー獲得回数02004/06/18 08:45:43

ポイント65pt

●原因●

実験したところHTTP入力変換のときに文字コードがPHPによって変更されるのが問題でした。

絵文字は文字コードとしてきちんと定義されたものではないので、PHPはこの文字コードを勝手に削除したなりしたため、うまくいかなかったようです。

●解決方法●

php.ini の設定を変えます。

mbstring.encoding_translation =Off

mbstring.http_input = pass (←不要かも)

で、勝手に自動変換されることなく、うまく行きました。

php.ini の変更が嫌な場合は .htaccess でやりましょう(私はこれでテストしました)。

プログラム自体は EUC-JP ではなく SHIFT-JIS で保存して下さい。

id:loy

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

.htaccessでもphp.iniの設定内容を変更できるんですね。よろしかったらその説明がされているページをお教えください。

あと、プログラムはやはりEUC-JPではダメなものでしょうか?

2004/06/18 11:26:31
id:iloveny No.2

iloveny回答回数77ベストアンサー獲得回数02004/06/18 12:43:46

ポイント65pt

http://www.php.net/manual/ja/configuration.changes.php

PHP: 設定を変更するには - Manual

.htaccess の変更方法のページです。

できない変数もありますが。

今、EUC-JP で試して見ましたが、うまく動いているようです。

入ってくる変数が SHIFT-JIS で変換しなければ大丈夫かも知れません。

id:loy

.htaccessで<IfModule mod_php4.c>

php_flag output_buffering Off

php_flag magic_quotes_gpc Off

php_value default_charset Shift_JIS

php_value mbstring.language Japanese

php_value mbstring.internal_encoding SJIS

php_value mbstring.script_encoding auto

php_value mbstring.http_input auto

php_value mbstring.http_output SJIS

php_flag mbstring.encoding_translation Off

php_value mbstring.detect_order auto

php_value mbstring.substitute_character none

</IfModule>

としてやってますが、うまくいきません。。。

どなたか救いの手を、、、、

2004/06/19 20:39:26

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません