Php 将UTF-8翻译成GB2312

Php 将UTF-8翻译成GB2312,php,encoding,utf-8,gb2312,Php,Encoding,Utf 8,Gb2312,我的一个应用程序有到中国网站的链接。这些网站使用GB2312编码。不幸的是,WP7上的.Net framework不支持GB2312编码,因此以下函数不起作用 private string ToGB2312(string character) { byte[] bytes = System.Text.Encoding.GetEncoding("gb2312").GetBytes(character); return '%' + BitConverter.ToString(byte

我的一个应用程序有到中国网站的链接。这些网站使用GB2312编码。不幸的是,WP7上的.Net framework不支持GB2312编码,因此以下函数不起作用

private string ToGB2312(string character) {
    byte[] bytes = System.Text.Encoding.GetEncoding("gb2312").GetBytes(character);
    return '%' + BitConverter.ToString(bytes).Replace('-', '%');
}
相反,我将使用web服务重定向查询:

1. User clicks a link in my app (法)
2. App opens the browser on mysite.com/redirect?codepoint=%E6%B3%95 
3. mysite.com redirects the user to chinesewebsite.com/page?codepoint=%B7%A8
那是因为法 utf-8中为%E6%B3%95,GB2312中为%B7%A8


我的问题是,如何在php中执行
(3.)

现在没有php环境,无法测试

但我认为你需要以下步骤:

1. $gb = mb_convert_encoding(urldecode($_GET['codepoint']), 'GB2312', 'UTF-8');
2. $gb_url = urlencode($gb);
3. Redirect with $gb_url

谢谢你<代码>$\u-GET已经是url解码,因此无需再次进行
urldecode($\u-GET['codepoint'])