Php 如何防止网页中出现奇怪的字符
通常,当将字符串从数据库输出到网页上时,特殊字符会显示为其他一些奇怪的字符(在我的示例中,em破折号会变成–€),我如何防止这种情况 我使用的是Php 如何防止网页中出现奇怪的字符,php,mysql,character-encoding,Php,Mysql,Character Encoding,通常,当将字符串从数据库输出到网页上时,特殊字符会显示为其他一些奇怪的字符(在我的示例中,em破折号会变成–€),我如何防止这种情况 我使用的是PHP+MySQL,我没有使用任何框架 我猜这是由于HTML和数据库之间的编码/字符集不匹配造成的,尽管我不知道如何修复它。在页眉标记中的页面顶部使用以下代码: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 在页眉标记的页面顶部使用以下代码: <
PHP+MySQL
,我没有使用任何框架
我猜这是由于HTML和数据库之间的编码/字符集不匹配造成的,尽管我不知道如何修复它。在页眉标记中的页面顶部使用以下代码:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
在页眉标记的页面顶部使用以下代码:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
您可以尝试此方法。使用以下php内置函数避免给定字符串中的字符。在您的示例中,使用数据库中的数据
html_entity_decode($given_string,ENT_QUOTES, "ISO-8859-1");
您可以试试这个。使用下面的php内置函数来避免给定字符串中的字符。在您的例子中,是来自数据库的数据
html_entity_decode($given_string,ENT_QUOTES, "ISO-8859-1");
在html视图页面中使用
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
如果您要插入其他语言字符来代替英语,而不是在html视图页面中使用该列utf8 general ci
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
如果您要插入一些其他语言字符来代替英语,而不是使该列成为utf8 general ci
Mojibake-这是
- 客户端中的字节以utf8正确编码
- 默认情况下,您可能使用
集合名称拉丁1
(或集合字符集(“拉丁1”)
或…。(它应该是utf8
)
- 表中的列被声明为
字符集latin1
(或者可能是从表/数据库继承的)(它应该是utf8
)
Mojibake-这是典型的
- 客户端中的字节以utf8正确编码
- 默认情况下,您可能使用
集合名称拉丁1
(或集合字符集(“拉丁1”)
或…。(它应该是utf8
)
- 表中的列被声明为
字符集latin1
(或者可能是从表/数据库继承的)(它应该是utf8
)
在HTML页面上使用字符集UTF8,对于DB,在HTML页面上使用字符集UTF8,对于DB也使用字符集UTF8