我重写了 PHP LDAP 模块并从 PHP 的源代码 MSVC 9 构建它。我这里有 utf-8 编码的字符串。
char *buffer;
之后我打电话
zval *tmp2;
MAKE_STD_ZVAL(tmp2);
array_init(tmp2);
......
add_index_stringl(tmp2, i, buffer, strlen(buffer), 1)
哇!
在 PHP 脚本中,我得到 windows-1252 编码的字符串!windows-1252 是我的本地代码页。在这种情况下,我丢失了俄罗斯符号,我得到“???” 而不是它。
如何强制 php 不根据本地设置重新编码我的数据?我的脚本中需要 utf-8。
PS 我可以将系统代码页更改为 windows-1251,但它不是其他语言的选项。