首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP的querystring中的双字节字符

使用PHP的querystring中的双字节字符
EN

Stack Overflow用户
提问于 2010-03-30 03:50:19
回答 2查看 2.3K关注 0票数 0

我正在尝试弄清楚如何为双字节语言创建个性化的urls。

例如,来自Amazon日本的url在查询字符串中包含日语字符(具体地说,路径):

代码语言:javascript
复制
http://www.amazon.co.jp/風の谷のナウシカ-DVD-宮崎駿/dp/B00005R5J3/ref=sr_1_3?ie=UTF8&s=dvd&qid=1269891925&sr=8-3

我想做的是:

代码语言:javascript
复制
http://www.mysite.com/風の谷のナウシカ

甚至是

代码语言:javascript
复制
http://www.mysite.com/index.php?name=風の谷のナウシカ

能够正确解码$GET[name]字符串。

我想我已经尝试了urldecodeutf8_decode的所有可能性,但我只是在回答时胡言乱语。

这一切都很好地在一个形式的$_POST,但我需要这些网址是电子邮件…

编辑:下面是我使用的代码:

代码语言:javascript
复制
<p>Original: <?= $_GET[str]; ?>

<br>Decode: <?= urldecode($_GET[str]); ?>

<br>Decode querystring: <?= urldecode($_SERVER[QUERY_STRING]); ?>

<p>

<?
   while (list($var,$value) = each ($_SERVER)) {
      echo "$var => $value <br />";
   }
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-30 04:34:36

明白了!

我需要确保标题是报告的:

代码语言:javascript
复制
header ('Content-type: text/html; charset=utf-8');

一旦我这样做了,字符就被正确地解释了。

我还发现了这个,这是一个非常好的资源:

http://www.phpwact.org/php/i18n/utf-8

票数 2
EN

Stack Overflow用户

发布于 2010-03-30 04:07:21

您是否尝试过直接读取GET值?和$_SERVER['QUERY_STRING']一样,还是等效的?我非常确定urldecode()函数仍然存在一些问题,即使它应该在5.0版之后就可以与UTF8一起使用。

php.net上的这位page有一些有用的评论,其中一些是专门针对日本案例的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2540800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档