デンマーク語の文字をデータベースに送信する前にエンコードしたいと思います。
私はこの関数をそれらに適用しようとします:
private function process_array_elements(&$element){
$element = utf8_encode($element);
$element = strip_tags( $element );
$element = strtolower ( trim ( $element ) );
$element = mysql_real_escape_string($element);
return $element;
}
このような:
$this->check_line_two = $this->process_array_elements($e);
これで、文字列をデータベースに送信しようとするたびに、次のようになります。
mysql_query("SET NAMES 'utf8'");
$query="INSERT INTO result_scanned
SET line_one= '$this->check_line_one',
line_two='$this->check_line_two',
line_three='$this->check_line_three',
advert_id='$this->advert_id',
scanned='$this->scan_result'";
私はこれを手に入れます:
Incorrect string value: '\xE3\x83\xE2\xB8r ...' for column 'line_three' at row 1
テーブルのフィールドのデータ型はUTF-8(utf8_unicode_ci
)であるため、同じものを使用して文字列をエンコードする必要があります
このスレッドは私の質問に関連しています:エンコーディングを検出し、すべてをUTF-8にします。
ただし、データベースに挿入する前に、UTF-8に文字をエンコードする方法を知っておく必要があります。そうしないと、前述のようなエラーが発生します。データベースに入れる前に、受け取っている文字の種類を最初に特定する必要があると思います。