Hi Georg,
A couple more notes.
1. This can be simplified:
if (UG(unicode)) {
zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen, row[i],
field_len[i] TSRMLS_CC);
ZVAL_UNICODEL(res, ustr, ulen, 0);
} else {
ZVAL_STRINGL(res, row[i], field_len[i], 1);
}
Use ZVAL_UTF8_STRINGL(res, row[i], field_len[i], ZSTR_DUPLICATE)
2. This also:
ZVAL_UTF8_STRINGL(return_value, strerr, strlen(strerr),
ZSTR_DUPLICATE);
to:
RETURN_UTF8_STRINGL(strerr, strlen(strerr), ZSTR_DUPLICATE);
3. As well as this:
if (UG(unicode)) {
zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
(field->name) ? field->name : "",
(field->name) ? strlen(field->name) : 0
TSRMLS_CC);
add_property_unicodel(value, "name", ustr, ulen, 0);
} else {
add_property_string(value, "name", (field->name) ? field->name :
"", 1);
}
Use add_property_utf8_string():
add_property_utf8_string(value, "name", (field->name) ? field->name :
"", ZSTR_DUPLICATE);
Also, I don't know much about MySQL client library, but it seems that
it only works in UTF-8 mode. Is this correct? Does it translate UTF-8
to other charsets when communicating with server that has tables in
those other charsets?
-Andrei
On Sep 27, 2006, at 8:25 AM, Georg Richter wrote:
georg Wed Sep 27 15:25:52 2006 UTC
Modified files:
/php-src/ext/mysqli mysqli.c mysqli_api.c mysqli_driver.c
mysqli_nonapi.c mysqli_prop.c php_mysqli.h
Log:
ZTS fixes. Implemented Andrei's hints (simplifying unicode stuff)
<georg-20060927152552.txt>--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php