php将外语字符转换为“string”

时间:2017-03-03 07:25:54

标签: php

  

更新:请忽略此问题,似乎md5不是   返回结果,因为我通过filter_var传递了URL($ url,   FILTER_SANITIZE_URL)看起来像FILTER_SANITIZE URL不起作用   对于外国人物。

我有一个问题,我想从网址获取哈希,例如

  

https://ko.wikipedia.org/wiki/추간판_탈출증

网址由用户以表格形式提供,所以我认为它已经是UTF-8,因为我的网站是UTF-8。

但是上面不能与md5()一起使用,因为它返回空结果。我可以知道我用什么PHP函数将它转换成下面可以使用md5()的东西吗?

  

https://ko.wikipedia.org/wiki/%EC%B6%94%EA%B0%84%ED%8C%90_%ED%83%88%EC%B6%9C%EC%A6%9D

我尝试过iconv,htmlspecialchar,htmlentities,我似乎无法找到合适的函数来转换字符串。

3 个答案:

答案 0 :(得分:1)

您可以直接使用md5对整个网址进行编码,如下所示:

echo md5('https://ko.wikipedia.org/wiki/추간판_탈출증');

其中输出为:

26eb333445f4e154f8ecb76e7c2ac858

更新:

按照w3schools FILTER_SANITIZE_URL

  

FILTER_SANITIZE_URL过滤器会从中删除所有非法网址字符   一个字符串。

     

此过滤器允许所有字母,数字和   !$ -_ + *'(),{} | \ ^〜[]'"><#%; /?@&安培; =

答案 1 :(得分:0)

您正在寻找的功能是rawurlencode。但是,您必须提取要编码的网址部分,否则将对整个网址进行编码。

$encoded = rawurlencode('추간판_탈출증');
// value of $encoded is now '%EC%B6%94%EA%B0%84%ED%8C%90_%ED%83%88%EC%B6%9C%EC%A6%9D'

答案 2 :(得分:0)

使用urlencode(url)函数进行转换

检查此网址url encode functions are found here