我用这个功能没有UTF-8时在JPG写IPTC数据与iptcembed
function iptc_make_tag($rec, $data, $value){
$length = strlen($value);
$retval = chr(0x1C) . chr($rec) . chr($data);
if($length < 0x8000)
{
$retval .= chr($length >> 8) . chr($length & 0xFF);
}
else
{
$retval .= chr(0x80) .
chr(0x04) .
chr(($length >> 24) & 0xFF) .
chr(($length >> 16) & 0xFF) .
chr(($length >> 8) & 0xFF) .
chr($length & 0xFF);
}
return $retval . $value;
}
(从http://php.net/manual/de/function.iptcembed.php)
写标题在我的JPG文件。 当我使用Picasa/Picasaweb阅读jpgs时,每个变音符号和其他特殊字符都是错误的。
是这个功能没有准备好Unicode的? 如何在jpgs中保存utf-8编码字符串?
感谢您的帮助, 基督教问题的
声明“CHR ()仅用于ASCII“没有多大意义。 'chr'是encoding-agnostic,它只是[“packs”](http://php.net/pack)一个介于0和0xFF之间的数字。 – Artefacto 2010-08-02 17:40:43
我在说的是,它不是对0x7F以上的字节进行enocoding-aware。如果使用'chr()'进行字符比较,则可能会导致一些意外结果,具体取决于源文件的编码。 – 2010-08-02 19:01:23
好的,thx很多家伙。 – christianhaller 2010-08-25 22:55:40