0

我是在 Windows Server 2008 和 SQL Server 上使用 PHP 的新手。当我想发布(或使用 get 方法)一些变量并将它们存储在数据库中时,它会转换空格 ->%20é->之类的字符,但%C3我不希望系统存储%20%C3实际性格é。我怎样才能做到这一点?该页面编码为 utf-8,排序规则为Latin1_General_100_CS_AS

4

2 回答 2

0

我打算试一试,但是当您执行 get 时,表单数据正在被编码到 URL 中,您会得到这种行为。使用 post 方法不必对空格的表单值进行编码,而是对特殊字符进行编码。这是一个很好的参考,http: //webmonkeyuk.wordpress.com/2011/04/23/how-to-avoid-character-encoding-problems-in-php/ 。

于 2013-06-28T20:29:42.940 回答
0

http://php.net/manual/en/function.urldecode.php

试试urldecode

它将采用 url-safe 表示并将它们转换为实际字符。请参阅手册

注意手册中的警告,您不必对 GET 或 POST 变量执行此操作。它们会自动解码。

$my_var = $_GET['my_weird_character'];

$my_var 应该已经被解码并准备好进入你的数据库。你试过了吗?在担心和问这样的问题之前,为什么不先尝试一下,看看它是否有效?

于 2013-06-28T20:32:32.080 回答