The behaviour of these functions is affected by settings in php.ini.
Exif supports automatically conversion for Unicode and JIS character encodings of user comments when module mbstring is available. This is done by first decoding the comment using the specified characterset. The result is then encoded with another characterset which should match your HTTP output.
Name | Default | Changeable | Changelog |
---|---|---|---|
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | |
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | |
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | |
exif.encode_jis | "" | PHP_INI_ALL | |
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL |
Here's a short explanation of the configuration directives.
exif.encode_unicode
string
exif.encode_unicode defines the characterset UNICODE user comments are handled. This defaults to ISO-8859-15 which should work for most non Asian countries. The setting can be empty or must be an encoding supported by mbstring. If it is empty the current internal encoding of mbstring is used.
exif.decode_unicode_motorola
string
exif.decode_unicode_motorola defines the image internal characterset for Unicode encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2BE.
exif.decode_unicode_intel
string
exif.decode_unicode_intel defines the image internal characterset for Unicode encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2LE.
exif.encode_jis
string
exif.encode_jis defines the characterset JIS user comments are handled. This defaults to an empty value which forces the functions to use the current internal encoding of mbstring.
exif.decode_jis_motorola
string
exif.decode_jis_motorola defines the image internal characterset for JIS encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.
exif.decode_jis_intel
string
exif.decode_jis_intel defines the image internal characterset for JIS encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.