2012-03-07 14 views
0

SQL_ASCIIのencondingを使用するPostgreSQLデータベースがあります。テーブルからデータを選択すると、特殊文字は表示されず、原因がわからなくなります。データが表示されているページのエンコーディングを変更しようとします。これに関する助言?SQL_ASCIIのデータベースに特殊文字が表示されない

+0

try [utf8_encode](http://php.net/manual/fr/function.utf8-encode.php)[utf8_decode](http://php.net/manual/fr/function.utf8-decode。 PHP)の – mgraph

+0

可能な重複 http://stackoverflow.com/questions/633762/special-characters-in-php-mysql と http://stackoverflow.com/questions/2175406/input-text-and-special -characters-and-mysql – Milap

答えて

2

"SQL_ASCII"エンコーディングは実際にデータにエンコーディングが課されていないことを意味します。

結果として、DBに渡すデータのエンコーディングは何かを覚えておかなければなりません。後で検索すると、その知識を適用して正しいエンコーディングでデータを表示する必要があります。

例:あなたのアプリケーションは、SQL_ASCIIの "エンコードされた"データベースにキリル文字(ISO-8859-5)テキストを格納しています。後でデータを取得するときに、アプリケーションがWestern ISO-8859-15に生成するWebページのエンコーディングを設定します。あなたのページのテキストが壊れて見えるでしょう。

1

ですから、erm、yea。 ASCIIを格納するようにデータベースに指示したとき、なぜasciiを格納するためにその上に動揺していますか?ユニコードを使用する場合は、ユニコードエンコードを使用します。あるいは、xmlという名前のエンティティを使って、特殊文字をasciiにトランスコードします。

+0

あなたは正しいのですがUnicodeが必要ですが、データベースは私がデータベースの後ろにいる人ではないという意味ではありません。そこで何かを変更することはできませんし、その理由のためにビルダーでもありません私は解決策を探しています。 「XML名前付きエンティティ」が何であるか教えてください。 – ReynierPM

関連する問題