我使用exif_read_data函数从上传的图片中获取“评论”信息。 我想将此信息插入相应的图像'alt'标记中。插入的值如下所示: T r a v e l
我尝试了几种编码变体但我无法获得正确的字符串。
PHP:
$exif = exif_read_data($dir.$image , 0 ,true);
$rel = $exif["IFD0"]["Comments"];
HTML:
<img alt='$rel' src='test.jpg' />
输出: 像这样......
<img alt='T�r�a�v�e�l��� ' src='test.jpg' />
html页面的实际编码是UTF-8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
答案 0 :(得分:1)
我不知道是否会解决您的问题(如果是,请在此告诉我)。但是在php.net有一个注释用php.ini配置来设置exif编码:
<?php
ini_set('exif.encode_unicode', 'UTF-8');
?>
答案 1 :(得分:0)
This worked for me: apparently if you set the exif comments/description fields in Windows the encoding will be automatically set to ASCII (you can check this with detect_encoding, as suggested in the comments). As ASCII is a subset of utf8 you can just use:
$rel = utf8_encode($exif["IFD0"]["Comments"]);
答案 2 :(得分:-1)
解决方案是:$exif = $exif['WINXP']['Comments'];