nagajisの日不定記。
本日のアクセス数:0|昨日のアクセス数:0
ad
という苦行をしている。
・最初からUTF-8で投げられたやつならサンプルコードが有る
・しかし元データとしてSJISのCSVが不動
・これをUTF-8なphpでなんとかしようとしている
時点でダメダメ。いらおうとしてmb_convert_encodingした時点でアウト。コード情報が失われて「?」になっちまう。
fgetcsvで読み込んだ直後に\x\xで置換したらいいんじゃね、と思ったら余計なところまで置換されてしまうのだった。三島郡島本町が三?莉」)S島本町になったり福島県福島市が福?莉」)ァ福島市になったり。故にmb_regex_encodingとか使って、そのうえ(株)の株をコード記述せにゃならんかったり。
自身の覚書として汚いコードのまま載せとく。㊤とか荒巻胚⑬とかは無視。
function ill_letter($in1)
{
//おまえら環境依存なんじゃぼけー
mb_regex_encoding('sjis-win');
$arr = array(
"\x87\x54" => 'I',
"\x87\x55" => 'II',
"\x87\x56" => 'III',
"\x87\x57" => 'IV',
"\x87\x58" => 'V',
"\x87\x59" => 'VI',
"\x87\x5a" => 'VII',
"\x87\x5b" => 'VIII',
"\x87\x5c" => 'IX',
"\x87\x8a" => "(\x8a\x94)",
"\x87\x8b" => "(\x97\x4d)",
"\x87\x8c" => "(\x91\xd5)",
"\x87\x83" => "K.K.",
"\x87\x41" => "(1)",
"\x87\x42" => "(2)",
"\x87\x43" => "(3)",
"\x87\x44" => "(4)",
"\x87\x45" => "(5)",
"\x87\x46" => "(6)",
"\x87\x47" => "(7)",
"\x87\x48" => "(8)",
"\x87\x49" => "(9)",
"\x87\x4a" => "(10)"
);
foreach(array_keys($arr) as $t)
{
$in1=mb_ereg_replace( $t, $arr[$t], $in1);
}
mb_regex_encoding('utf-8');
return $in1;
}
あと番地のハイフンを半角に揃えたいのだが何故か置換がうまくいかない。ハイフンに間違われやすい記号が山のようにあるせいか。-―‐-全部やってるつもりなんだけどな。