2011-12-19 1 views
0

私のphp/mysqlのアプリケーションは、varchar型のフィールドに次のように挿入しようとしている:ポーランド文字

テーブル内の私のデータは次のように保存されている..however

L ł

これは、私はPHPやMySQLに処理する必要が何かですか?

アドバイスをいただければ幸いです。

おかげポール

さらなる情報 - データは、その値は、その後のMySQLに挿入され、次いで、ユーザテキストボックスに入力された入力、及びです。

更新日:コード

function addNewCustomer($data, $aid){ 
     $now = date('Y-m-d H:i:s'); 

     $row = mysql_fetch_array(mysql_query("SELECT MAX(CustomerID) FROM tbl001_Customer")); 

     $query = "INSERT INTO tbl001_Customer 
       (CustomerID,CustomerName,Country,Address1,Address2,Address3,Address4,Postcode,PhoneNumber) 
       VALUES ('".str_pad($row[0]+1,5,'0',STR_PAD_LEFT)."','{$data['quote_customer_name']}','{$data['quotecountry']}', 
         '{$data['quote_address1']}','{$data['quote_address2']}','{$data['quote_town_city']}', 
         '{$data['quote_country']}','{$data['quote_postcode']}','{$data['quote_primary_phoneno']}')"; 
     if (!mysql_query($query)) { 
      $isError = true; 
      echo mysql_error(); 
     } 
+0

データの発信元はどこですか?あたかもそこにコードされているかのように見えます。 –

+0

htmlentities()がここで呼び出されたようです。コードがありますか? Mysqlはこのように変換しません。エンコードなどなしでポーランド語の文字を保存する場合は、mysqlのテーブルの文字セットをチェックする必要があります。 –

+0

dbはutf8&utf8_general_ci –

答えて

-1

)は、データベースの使用HTML_DECODE(から選択した後、データベースに挿入する前に)(HTML_ENCODEのデータを使用してください。

+0

html_encode()は "& #322;"の代わりに "ł"をデータベースに保存しますか? –

+0

ええ、その正確な記号ではありません。 – Spikey21

0

これはPHPで処理しないでください。
htmlentities()はどこかで機能していますが、これは絶対的に役に立たないものです。

ので、ちょうどこの関数呼び出しを取り除くと、そのまま自分のデータを持っています。あなたがhtmlspecialchars()機能を使用する必要がXSSの注射に対するフィルタリングユーザの入力を

+0

ちょっと、「htmlentities()」のプロジェクトを検索しただけで結果が得られませんでした。私はそれを使用していません。 –

+0

これはかなり奇妙です。少しデバッグしようとします。フォームとデータベースの間にいくつかのコードがあります。いくつかの場所でデータを印刷して、変更された場所を見つけようとしてください。 –

関連する問題