2018-01-01から1年間の記事一覧

DOMDocument->loadHTML()でパースすると文字化けする

PHP

大体HTMLに原因があるのでそこを見ればよい。 原因1: CP932なのにmeta charset=Shift_JISになっている 原因2: meta charsetは正しいが、それより前にマルチバイト文字がある 原因3: そもそもmeta charsetがない ブラウザが「いい感じ」に処理してくれるのも…

RawGitからjsDelivrに移行した

今月末以後にサービス終了とのことなのでjsDelivrに移行した。 アナウンスから終了まで割と短いが、jsDelivrに専用のガイドページが用意されている。jsDelivrはRawGitのようにGitHubの参照もできるが、npmパッケージがある場合はそちらの方が利用率は高くな…

Subversion 1.10で認可され(authorize)ない

1.9から1.10にサーバをバージョンアップしたら問題が発生した。 svn up なり svn list なりを行うと、 svn: E175013: Access to '/path/to/hoge/trunk' forbiddenと出てアクセスできない。HTTP(S)経由なので、LogLevel debug としてログを追ってみると最後に…

CentOS 7でgeoipupdateが動かなくなった

GeoIP-update-1.5.0-11.el7 が4月からエラーを吐くようになった。 /etc/cron.weekly/geoipupdate: Received Error -21 (Sanity check database_info string failed) when attempting to update GeoIP Database Received Error -21 (Sanity check database_in…

cURL 7.56.0で大きなデータをPOSTするとデータが壊れる

curl_setopt()のCURLOPT_POSTFIELDSでデータを設定し送信するときに、16KBあたり以降のデータが先頭からの繰り返しになる。 PHP 7.1.11以降、最新のPHP 7.2.1でも起きる。 cURLのバグのようで、公式WindowsビルドのcURLがPHP 7.1.11から7.56.0にアップデート…