htmlspecialchars($value)导致中文丢失
我下载了一套源码,采用GB2312的页面编码。
其中调用了ckeditor及后台管理对中文的处理均采用是htmlspecialchars($value)来过滤掉HTML危险字符。
问题是不知道怎么的,经过是htmlspecialchars($value)处理中文后均为空?
后来看了资料说要这样调用:
htmlspecialchars($value, ENT_NOQUOTES, "gb2312")
问题是:我要都这么改,不是要改好多,再说了,像ckeditor开发者难道不知道这问题的存在吗?
急求简单一点的解决办法,最好不要改源码,有个全局设置或环境设置之类的,请大家帮忙一下,谢!
回复讨论(解决方案)
php.ini中有个编码设置,default_charset="gb2312" 试试行不
经测试,没有发现你说的问题
况且 htmlspecialchars 是将特殊字符转换为HTML实体,而非你所说过滤掉HTML危险字符
本函数将特殊字符转成 HTML 的字符串格式 ( &....; )
这跟中文没关系啊,除非你传递进去的时候就是乱码之类的 .还是先检查你传递进去的内容吧
我的机器是XP +easyphp5.4.0RC4
运行
<?php $str = "111<b>中文字符啦....</b>"; echo "原样输出为.$str <br>"; echo "处理后:" . htmlspecialchars($str);?>
返回真是空值。
没有作任何其它的处理。
easyphp5.4.0RC4
其中的php是5.4版笨的吗?
还没有那么奢侈,我还在用php5.3.6
如果真是 php5.4,请向php bug 网站通报错误
测试发现是正确的,返回值不是空值
我的机器是XP +easyphp5.4.0RC4
运行
HTML code
$str = "111中文字符啦....";
echo "原样输出为.$str
";
echo "处理后:" . htmlspecialchars($str);
?>
返回真是空值。
没有作任何其它的处理。
我看了集成环境是这样的:
PHP 5.4.0RC4 VC9 Apache 2.2.21 VC9 MySQL 5.5.19 PhpMyAdmin 3.4.9 Xdebug 2.1.2
是版本的问题。 PHP 5.4.0RC4 VC9应该还是测试版。还存在很多bug.. .
楼主换个EasyPHP 5.3/EasyPHP 5.2估计就行了。
嗯。我换了5.3。果然行了。谢谢大家。
你旧框框看看可
php5.4同样遇到这个问题:
$content = htmlspecialchars($_POST['content']);
添加
,ENT_COMPAT ,'GB2312'
$content = htmlspecialchars($_POST['content'],ENT_COMPAT ,'GB2312');
php5.5 问题依旧 必须补全参数
php5.5 问题依旧 必须补全参数 是的,php5.5,我也遇到类似问题,在测试用dircms,后台一看,标题全为空,在代码查找,发现是这 htmlspecialchars 函数的问题,怎么办?

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Alipay PHP ...

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.
