我的网址如下:domain.tld /Σχετικά_με_μας
[编辑] 阅读$ _SERVER ['REQUEST_URI']我开始使用:
%CE%A3%CF%87%CE%B5%CF%84%CE%B9%CE%BA%CE%AC_%CE%BC%CE%B5_%CE%BC%CE%B1%CF%82
[/编辑]
在PHP中我需要将其转换为HTML,我相当远:
htmlentities(urldecode($navstring), ENT_QUOTES, 'UTF-8');
结果是:
Σχετικά_με_μας
但'ά'变为'Î'但我需要将它转换为
ά
我非常感谢帮助。我需要一个通用的解决方案,而不是“字符串替换”
答案 0 :(得分:0)
我一直在玩一下,以下工作。使用mb-convert-encoding而不是htmlentities。:
mb_convert_encoding(urldecode($navstring),'HTML-ENTITIES','UTF-8');
//string(90) "domain.tld/Σχετικά_με_μας"
答案 1 :(得分:0)
所有现代网络浏览器都能理解UTF-8字符编码。 我的建议是:
mbstring php扩展并不只是操纵Unicode字符串。它还在各种字符编码之间转换多字节字符串。 使用mb_detect_encoding()(ref)和mb_convert_encoding()(ref 2) 函数将Unicode字符串从一种字符编码转换为另一种字符编码。
您还需要告诉PHP您正在使用UTF-8,告诉他默认值,您可以在 php.ini文件中执行此操作:
default_charset = "UTF-8";
除非您使用header()函数指定它,否则该默认值将添加到PHP返回的默认Content-Type标头中:
header('Content-Type: application/json;charset=utf-8');
默认字符集由PHP中的许多函数使用,例如: