使用php获取另一个页面中的utf8 urlencoded字符

发布于 2024-12-09 10:08:25 字数 299 浏览 0 评论 0原文

我在 utf8 单词上使用了 rawurlencode。 例如

$tit = 'தேனின் "வாசம்"';
$t = (rawurlencode($tit)); 

,当我单击 utf8 单词 ($t) 时,我将使用 .htaccess 转移到另一个页面,并使用 $_GET['word']; 获取 utf8 单词;

该单词显示为 தà̄‡à®©à®¿à®©à̄_"வதசமà̄",而不是实际单词。我怎样才能得到实际的utf8单词。我使用了标头 charset=utf-8。

I have used rawurlencode on a utf8 word.
For example

$tit = 'தேனின் "வாசம்"';
$t = (rawurlencode($tit)); 

when I click the utf8 word ($t), I will be transferred to another page using .htaccess and I get the utf8 word using $_GET['word'];

The word displays as தேனினà¯_"வாசமà¯" not the actual word. How can I get the actual utf8 word. I have used the header charset=utf-8.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不打扰别人 2024-12-16 10:08:25

我的评论是第一个,但应该是一个答案:

magic_quotes 已关闭?如果它在 2011 年仍然存在,那会很奇怪。但是您应该检查并执行 stripslashes

Was my comment first, but should have been an answer:

magic_quotes is off? Would be weird if it was still on in 2011. But you should check and do stripslashes.

尤怨 2024-12-16 10:08:25

您是否使用了 rawurldecode($_GET['word']); ?您的 PHP 文件使用 UTF-8 编码吗?

Did you use rawurldecode($_GET['word']); ? And do you use UTF-8 encoding for your PHP file?

酒解孤独 2024-12-16 10:08:25
<?php
$s1 = <<<EOD
தேனினà¯_"வாசமà¯"
EOD;
$s2 = <<<EOD
தேனின் "வாசம்"
EOD;

$s1 = mb_convert_encoding($s1, "WINDOWS-1252", "UTF-8");

echo bin2hex($s1), "\n";
echo bin2hex($s2), "\n";
echo $s1, "\n", $s2, "\n";

输出:

e0aea4e0af87e0aea9e0aebfe0aea9e0af5f22e0aeb5e0aebee0ae9ae0aeaee0af22
e0aea4e0af87e0aea9e0aebfe0aea9e0af8d2022e0aeb5e0aebee0ae9ae0aeaee0af8d22
தேனின��_"வாசம��"
தேனின் "வாசம்"

您可能只是没有将数据显示为 UTF-8,而是将其显示为 ISO-8859-1 或类似格式。

<?php
$s1 = <<<EOD
தேனினà¯_"வாசமà¯"
EOD;
$s2 = <<<EOD
தேனின் "வாசம்"
EOD;

$s1 = mb_convert_encoding($s1, "WINDOWS-1252", "UTF-8");

echo bin2hex($s1), "\n";
echo bin2hex($s2), "\n";
echo $s1, "\n", $s2, "\n";

Output:

e0aea4e0af87e0aea9e0aebfe0aea9e0af5f22e0aeb5e0aebee0ae9ae0aeaee0af22
e0aea4e0af87e0aea9e0aebfe0aea9e0af8d2022e0aeb5e0aebee0ae9ae0aeaee0af8d22
தேனின��_"வாசம��"
தேனின் "வாசம்"

You're probably just not showing the data as UTF-8 and you're showing it as ISO-8859-1 or similar.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文