0

我的一个应用程序有中国网站的链接。这些网站使用 GB2312 编码。可惜WP7上的.Net框架不支持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。

我的问题是,我如何(3.)在 php 中做?

4

1 回答 1

1

现在没有PHP环境,无法测试。

但我认为你需要这些步骤:

1. $gb = mb_convert_encoding(urldecode($_GET['codepoint']), 'GB2312', 'UTF-8');
2. $gb_url = urlencode($gb);
3. Redirect with $gb_url
于 2013-08-24T04:20:12.880 回答