このコードを使用して、.NET から php の HTML purifier を呼び出そうとしています:
Process myProcess = new Process();
myProcess.StartInfo.FileName = "C:\Path\to\php.exe";
myProcess.StartInfo.Arguments = "C:\Path\to\purify.php";
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.RedirectStandardInput = true;
myProcess.Start();
StreamWriter myStreamWriter = myProcess.StandardInput;
String inputText;
inputText = txtCodes.Text;
if (inputText.Length > 0)
{
myStreamWriter.Write(inputText);
}
myStreamWriter.Close();
labMsg.Text = myProcess.StandardOutput.ReadToEnd();
myProcess.WaitForExit();
myProcess.Close();
.. そして、例外を除いてすべて正常に動作します ... 非 asci 文字を取り戻すことができません。たとえば、入力に韓国語の文字を指定すると、出力として疑問符が返されます。
これは、HTMLPurifier 関数がバイパスされていても発生し、単純に入力 .NET を提供し、それを php 変数に格納し、その変数を出力にエコー バックしようとしているだけです。
何か案は?