2015年6月16日火曜日

PHP:TCPDFで全角ハイフンが出さねば

TCPDFで全角ハイフンを含むPDFを出力すると全角ハイフンが?になる。

マイクロソフト仕様ですと
MINUS SIGN (U+2212, "−") を FULLWIDTH HYPHEN-MINUS (U+FF0D, "-") に割り当てており、これらの変換時にも問題が起こる。

postgreSQLはEUC_JPはx-eucJP-Openのことらしく、
なのでPHPもeucJP-winを基本文字コードで指定せねばならんらしい。

PostgreSQLでの-はEUCコードがa1dd、ユニコードは2212。
これをeucJP-winで変換しようとすると割当がないので?になるんだね。

JSON 文字列をデコードする関数で行う方法もあるようです。
$uniWh = json_decode('"\uFF0D"');//全角ハイフン