我目前正在使用Zend API在C ++中编写PHP扩展。基本上我围绕我的本机C ++接口方法制作PHP_METHOD {..}包装器并使用" zend_parse_parameters(..)"获取相应的输入参数。
此扩展包含可以将字符串作为参数的方法,例如文件名。
我从http://php.net/manual/en/language.types.string.php#language.types.string.details知道字符串在PHP中没有编码,但我仍然希望PHP程序员能够使用像#34; utf8_decode(..)"这样的函数。这样输入字符串可以被扩展名正确读取?
或者PHP程序员是否期望扩展程序从php脚本中检测到编码并相应地处理字符串?
非常感谢每一位帮助!谢谢!
答案 0 :(得分:0)
你是对的。字符串只是PHP中的二进制blob。作为延伸的作者。你的选择:
以下是替代性3的一个例子:
$obj = MyExtensionClass('UTF-8'); // force encoding
$obj->someMethod($inputStr); // try to convert now
标准库使用方法1.请将json_encode
视为example: