繁体   English   中英

chr()UTF-8编码问题

[英]chr( ) UTF-8 Encoding Issue

我将所有内容都编码为utf-8。 所有非ascii字符都能正常工作,但是当我使用php的chr()函数时会出现问题。

该行工作正常(带有±字符)

echo '<a class="page_contents_right_cat" href="/page-contents/">Top ±300</a>';

但是它没有,并且显示出无法识别的字符。

echo '<a class="page_contents_right_cat" href="/page-contents/">Top '. chr(241) .'300</a>';

如何解决呢? 有什么帮助吗?

使用等效的HTML实体,即&#177; &plusmn;

从chr的手册页:

Returns a one-character string containing the character specified by ascii.

该页面上评论中

<?php
/**
 * Return unicode char by its code
 *
 * @param int $u
 * @return char
 */
function unichr($u) {
    return mb_convert_encoding('&#' . intval($u) . ';', 'UTF-8', 'HTML-ENTITIES');
}
?>

您真的应该在问任何问题之前先阅读手册。

您需要使用UTF-8字符代码而不是241。

对于±使用代码177: http : //unicode-table.com/ru/#00B1

并将其转换为多字节。

摘要将如下所示:

mb_convert_encoding(chr(177),'UTF-8')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM