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 に変更できますが、他の言語のオプションではありません。