Ktai Library for CakePHP1.2の絵文字変換時の文字化け修正

CakePHP 1.2.18

携帯の絵文字変換のコンポーネント、ヘルパーで「Ktai Library for CakePHP1.2」を使っていました。
サーバー移転をしたときに動作しなくなったので、その修正記録

Ktai Libraryのバージョンは0.2.0
(2017/11時点の最新版は0.4.2です。)

auでの絵文字変換がうまくいかない。
バージョンアップも考えたが、色々変更点があって修正対応に時間がかかりそうだったため
0.2.0を修正することにした。

処理の流れとしては下記のような感じ

1.docomoの絵文字を退避
2.文字コード変換
3.docomoの絵文字をauのバイナリ絵文字へ変換

文字コードの変換はうまくいっているが絵文字でNGで文字化け

PHPの文字コード設定は下記
ソースはUTF-8
表示はSJIS

vendors/ecw/lib3gk.php
ソースを追ってみる。

755行目あたり

出力がUTF-8、KDDIなら処理になっている。
こちら側の出力はSJIS
フィーチャーフォンはUTF-8表示は一部端末のみ

ということでこちらを修正(2箇所)

これで絵文字も表示されるようになった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA