プロフィール

pochi2013

Author:pochi2013
海釣りが大好きなおっさんです!

Σ( ̄Д ̄;)がーんっ!

最新記事

カテゴリ

スポンサーリンク

ポチっとしたブログ
いまさらPHPで「髙(はしご高)」
あ~!! ずいぶん更新してませんでしたぁ

PHPも 5.6.0beta3 が発表されたようですが、仕事ともなると未だに古~いバージョンのPHPで開発しなければならないのがつらいですねぇ・・

今日はそんなお話です ♪(* ̄∇ ̄)/
さすがにPHP4は無いですが、レンタルサーバーを使っていると5.1系や5.2系もある訳で PHPも内部がUTF-8なんでプログラムのUTF-8化が進む昨今ですが、やはり長年使われてきたEUC_JPを使ったシステムも数多く残っているわけです。

そんなEUCの中で「髙(はしご高)」のも文字化け問題が起こってしまいました!!
細かい話は他の説明上手な皆さんにまかせるとして(笑)
要は、仕事ともなれば理屈はさておき結果を出すのがプロですからグーグル先生が大活躍します
つまり大人の事情ってわけですね? 
わかります  m(_ _)m


髙(はしごたか), 﨑(たつさき)など、PHPで特定の文字コードを処理できない。とか
PHPで、いわゆる機種依存文字の文字コード変換(EUC-JP→UTF-8)にはまるですね!

うん! こりやぁわかり易いわ!!

結局のところ機種依存文字をEUCに変換するにはCP51932が必要で、PHP5.2.1以上なら問題ないけどPHP5.2.0以下は「php-5.1.4-060825.patch」を使えって事ですよね!
 ((o( ̄ー ̄)o)) フンス!

ですが、ここで問題です!
中には諸々の事情でPHP5.2.0以下なのに「php-5.1.4-060825.patch」が使えないのです!
つまり、これも大人の事情ってやつですね  m(_ _)m

んで、たどり着いたのがnkfを使った変換を紹介している「PHPでnkf」でした
いいですね!単純でプロ向きです!汎用性なんて余裕のある人に任せましょう!

ですが・・・ あれ? (・・;)


ウゴカナイヨ? (-。-;)


ナンデカナ? ( ̄Д ̄;;


あっ! 「mb_ereg_replace」なんか使ってるわぁ
元の文字コードが可変(不明)なのに、ここはマルチバイト意識したら駄目だよね??
さすがに6年前の記事やし・・・  (>▽<;; アセアセ


んで! 結局完成したのが↓↓↓
書式 string mb_convert_encoding ( string $str , string $to_encoding , string $from_encoding )

function nkf_convert_encoding($str, $to_encoding, $from_encoding ) {
	$bin = "/usr/bin/nkf";

	$str = "'".preg_replace("/'/", "''", $str)."'";
	$handle = popen("echo -n $str | $bin -x --ic=$from_encoding  --oc=$to_encoding ", "r");
	$result = "";

	while (! feof($handle)) {
		$result .= fgets($handle);
	}
	pclose($handle);
	return $result;
}


今更やけど! やっぱり今でも最新の情報が必要ですね!

スポンサーサイト




テーマ:自作・改造 - ジャンル:コンピュータ

コメント

コメントの投稿














管理者にだけ表示を許可する


トラックバック
トラックバック URL
http://pochi2013.blog.fc2.com/tb.php/21-c927ecad
この記事にトラックバックする(FC2ブログユーザー)
検索フォーム

月別アーカイブ

最新コメント

最新トラックバック

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR