首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML特殊字符(外语)

HTML特殊字符(外语)
EN

Stack Overflow用户
提问于 2013-09-11 13:03:06
回答 3查看 801关注 0票数 1

基本上我有一条绳子:

代码语言:javascript
复制
Český, Deutsch, English (US), Español (ES), Français (France), Italiano, 日本語, 한국어, Polski, 中文(繁體)

我想把它转换成所有可能的HTML实体(可能还有俄文字符!)我试着用不同的字符集创建不同的"htmlspecialchars“和”charsets“函数,但是它返回空字符串.

代码语言:javascript
复制
$l = htmlentities("Český, Deutsch, English (US), Español (ES), Français (France), Italiano, 日本語, 한국어, Polski, 中文(繁體) €", ENT_COMPAT, "BIG5-HKSCS");
$l = htmlentities($l, ENT_COMPAT, "KOI8-R");
$l = htmlentities($l, ENT_COMPAT, "EUC-JP");
$l = htmlentities($l, ENT_COMPAT, "Shift_JIS");
$l = htmlentities($l, ENT_COMPAT, "Shift_JIS");
echo $l;

返回空字符串。

有什么帮助吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-11 13:11:30

下面是我的"unutf8“函数,它将所有UTF8字符转换为表单〹〹实体

代码语言:javascript
复制
function unutf8($str) {
    return preg_replace_callback("([\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}|[\xF8-\xFB][\x80-\xBF]{4}|[\xFC-\xFD][\x80-\xBF]{5})",
        function($m) {
            $c = $m[0];
            $out = bindec(ltrim(decbin(ord($c[0])),"1"));
            $l = strlen($c);
            for( $i=1; $i<$l; $i++) {
                $out = ($out<<6) | bindec(ltrim(decbin(ord($c[$i])),"1"));
            }
            if( $out < 256) return chr($out);
            return "&#".$out.";";
        },$str);
}

它将字符串解析为有效的UTF8字符序列,并将多字节序列转换为字符的序号值。这是非常混乱的,我不希望赢得任何良好的编码,但它的工作。

但是,请注意,如果您有未编码的字符,则会遇到问题。例如,如果由于某种原因,您有éc(C),则结果将是驩。在将字符串传递给函数之前,请确保字符串是有效的UTF8。

票数 2
EN

Stack Overflow用户

发布于 2013-09-11 13:05:47

使用报头将HTTP报头修改为utf-8:

代码语言:javascript
复制
header('Content-Type: text/html; charset=utf-8');

另外,确保HTML文档也在utf-8中:

代码语言:javascript
复制
<meta http-equiv="Content-type" content="text/html" charset="utf-8" />
票数 1
EN

Stack Overflow用户

发布于 2013-09-11 13:11:45

不要采用强硬的解决方案,只需执行以下简单的小步骤: 1) mysql_set_charset("utf8",$conn);用配置连接代码设置它。

2) mysql_query(“设置名称'UTF8'");在这里输入您的查询.mysql_set_charset("UTF8",queryResult);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18741993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档