2017-08-21 29 views
0

私はC#からPHPスクリプトにデータを送信しようとしています。 PHPページは、投稿されたデータをデータベースに挿入しますが、エンコーディングはUTF-8である必要があります。データがéまたはàのような文字が含まれている場合、彼らはÄ© Ä ....として挿入されますC#からPHPへのパラメータエンコーディングを投稿

$data = $_POST["q"]; 
insert_to_database($data); 

WebClient client = new WebClient(); 
client.Encoding = Encoding.UTF8; 
NameValueCollection data = new NameValueCollection(); 
string rq = "data here"; 
rq = Convert.ToBase64String(Encoding.UTF8.GetBytes(rq)); 
data["q"] = rq; 
byte[] buffer=client.UploadValues("url of php file", "POST", data); 

コードPHPファイル内:ここ

は、C#のコードです。

+0

エラーは、データベース接続が設定されている方法で、実際にPHP側にある、またはのように思えます。 PHPはエンコーディングの種類を知っていません。あなたが持っているデータはすでにUTF8ですが、(PHPとデータベースとの会話によって)ANSI/Latinで扱われます。 – GolezTrol

+0

私はphpmyadminに行ってデータを挿入すると、[この質問](https://stackoverflow.com/questions/4623733/utf-8-problems-php-mysql) – GolezTrol

+0

であなたの質問に対する答えを見つけることができると思いますéàのような文字で直接表示されます – Th3Wolf

答えて

0

私は解答hereを見つけました。

接続は、PHPファイル内のエンコーディングを必要とする

$conn = mysql_connect($server, $username, $password); 
mysql_set_charset("UTF8", $conn); 
+0

良い!副作用として: 'mysql_connect'とその家族は古いです。この機会があれば、MySQLiまたはPDOに移行してプロジェクトをより将来的に証明してください。 [PHP/MySQL:APIの選択](http://php.net/manual/en/mysqlinfo.api.choosing.php) – GolezTrol

+0

を参照してください。ありがとう@GolezTrol – Th3Wolf

関連する問題