Mobile Joomla!でサイトを携帯対応してみた【文字コード変換編】

文字コード変換が出来ない、Mobile Joomla!。
出力するデータの文字コードを変換するしかないなーって事で、Mobile Joomla!のその辺を色々と弄くってみたら、結構あっさりとできた。

Mobile Joomla!用のエスクステンションを用意出来れば良いんだけど、その辺の知識は全く皆無なので、構成ファイルを変更してやります…。
変更が必要なファイルは、

  • administrator/components/com_mobilejoomla/markup/chtml.php
  • plugins/system/mobilebot.php

の2つ。
iモードで変換されるCompactHTMLの場合は、Shift_JISを利用させて、UTF-8からShift-JIS(SJIS-WIN)に変換して出力するような感じに変更。

chtml.phpの変更

2箇所変更が必要。

20行目辺り getCharset()の返り値

return 'UTF-8';

return 'Shift_JIS';

に変更。

30行目辺り getContentString()の返り値

return 'text/html; charset=UTF-8';

return 'text/html; charset=Shift_JIS';

に変更。

mobilebot.phpの変更

1箇所変更が必要。

388行目辺りJResponse::setBody($text);

JResponse::setBody($text);

//JResponse::setBody($text);
$mbce_divice =& MobileJoomla::getDevice();
switch($mbce_divice['markup']){
	case 'chtml':
		JResponse::setBody(mb_convert_encoding($text, 'SJIS-WIN', 'utf-8'));
		break;
	default:
		JResponse::setBody($text);
		break;
}

とか、こんな感じに変更。

文字コード変換続き…文字コード変換完結編へ

コメントする

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