AtomPubで自動投稿をする際、文字化けが起こるunicodeがある。

例えば全角のチルダ。∼や◦や‣。

これらの環境依存文字が入ると、AtomPubでLivedoorに投稿をした際、

UTF-8でエンコードをして送っていたとしても、文字化けした状態で返ってきます。

 

勿論、Livedoor Blogでの内容も文字化けだらけで大変です。

aの上に線が入ったような文字化けで、

 

調べてもいまいちうまく行く関数が無く、

仕様として諦めようかとした次第です。

とりあえず、以下のようなコードで、
特殊文字を置き換えたいものは置き換えて、

後は一括で消してしまう形をとりました。

function utf_escape_p($str){
$utf_escape_p =array(
'/⚪/'=>'○',
・・・省略・・・
'/&#[0-9]{1,4};/'=>'',
'/[0-9]{1,4};/'=>'',
'/A[0-9]{3};/'=>'',
);
$str =preg_replace(array_keys($utf_escape_p),array_values($utf_escape_p), $str);
return $str;
}

 

これで文字化けは収まりましたが、

せっかくならば何かもっとちゃんとした解決法がありそうな、

そんな気がしています。

 

 

 
Share on Facebook

見積もり・問い合わせフォーム
ガチ株式会社へのお仕事ご依頼・お見積もりの問い合わせはこちらから送信ください。
ホームページ作成
PHP制作依頼
wordpressカスタマイズ依頼
システム開発見積もり依頼
飲食店販促サービス問い合わせ
求人
会ってみたい!

コメントを残す

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