问题标签 [mbstring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 什么是从我的 PHP 网站过滤无效的 utf8?
我的网站已完全转换为使用 utf-8(mysql、http 标头、PHP mb_string 等)。
我正在做一些渗透测试并尝试将无效的 utf 发布到其中一个脚本(使用 BurpSuite)。
但是,当我发布无效的 utf,只是对 $_POST var 进行十六进制转储时,我发现在尝试使用 mb_detect_encoding 对其进行验证之前,已经对无效的 utf 序列进行了清理。
这对我来说听起来是个好消息,但我想知道哪个层正在转换 POST 数据?
它是 Content-Type HTTP 标头的副作用吗,也许我的网络服务器正在这样做(lighttpd)。或者是 PHP 本身在填充 $_POST 时这样做?
我希望看到无效的 utf 十六进制转储,让我自己清理它。
php - php 在 mb_substr() 之后找到最近的空格字符
我需要将字符串剪切为大约 160 个字符,但我想通过最近的空格字符进行剪切。mb_
使用 UTF-8 字体(函数)会使任务恶化。我的代码如下:
有谁知道更优雅的方式?
php - 用问号替换无效的 UTF-8 字符,mbstring.substitute_character 似乎被忽略了
我想用引号(PHP 5.3.5)替换无效的 UTF-8 字符。
到目前为止,我有这个解决方案,但无效字符被删除,而不是被“?”替换。
应该输出:
但目前输出:
有什么建议吗?
你会用另一种方式(preg_replace()
例如使用 a 吗?)
谢谢。
php - 如何仅为 1 个主机启用 php mb_string?
我有一台带有 cPanel 的 centOS 机器。我们已经用 mb_string 编译了 PHP,它工作正常。我们想在除一个以外的所有主机帐户中禁用它,因此我们在 php.ini 中禁用了它,但希望在特定主机中启用它。
我知道这可以通过 apache 的 .htaccess 文件实现。但是如何,以及什么命令?有什么见解吗?
谢谢 !
php - PHP :mbstring 模块安装
我试图为 PHP 安装 mbstring 模块。我输入了以下命令:
模块现已安装,但错误并没有消失。
在我的 phpinfo() 中,“mbstring”不存在...
操作系统:centos 6 PHP:5.3.8
php - 如何在 CentOS 6.2 上安装 PHP mbstring
如何在 CentOS 6.2 上使用 PHP 安装 mbstring
我试过了:
但是没有找到包裹?
php - 无法加载 mbstring 模块
在 CLI 中运行脚本我收到此错误:
一些背景。
使用 MySQL 和 Apache2.2(目前都可以使用)运行 Windows 7(称之为工作约束)
我知道这个函数是模块 php_mbstring.dll 的一部分
我将尝试一个详尽的清单来加载它:
- 已验证的 php.ini 位置;phpinfo 表示加载的文件在c:\php;配置文件位于 c:\windows 中(两个位置 - 都具有相同的 .ini 文件)
- php.ini 文件有未注释的 extension=php_mbstring.dll
- 扩展目录在两个 php.ini 文件中都指定为 extension_dir = "c:\php\ext"
- 指定的文件 (php_mbstring.dll) 实际上存在于指定的目录 c:\php\ext\php_mbstring.dll
- 虽然我不明白为什么这会有效,但我已将 dll 移至 php 根目录以及 windows32 目录,如在其他论坛上看到的那样
- 我确实以相同的方式加载了其他功能性非核心模块(例如mysqli)而没有问题
可能值得注意的是,在加载的配置文件 (c:\php\php.ini) 中取消注释扩展行后,会出现一个附加的系统错误“无法启动,因为您的计算机中缺少 php5.dll”对话框。我尝试在两者中都取消注释并得到相同的错误。
我怀疑有一种方法可以在不重新编译或重新安装 PHP 的情况下加载此模块。