2017-05-24 3 views
1

データベースフィールドには、変換されたhtmlエンティティの文字が含まれているため、などの単語を検索しようとするとまたはÄrzteは見つかりません。私はSQLクエリCOLLATE utf8_general_ciを追加しようとしましたが、次のエラーが表示されます。COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'SQLは "öüä"のような文字を "好き"検索しますか?

私の検索フィールドはutf8_general_ciエンコーディングです。

このような検索を行うことや、いくつかの手紙をhtmlエンティティに提出することによって変換することは可能ですか?

+0

あなたの文字列に '' Ä ''や' 'Ä''のような文字列が含まれています。照合を変更しても、文字は同じままになるため、ここでは役立ちません。あなたが必要とするのは明らかにHTML変換です。だから、これのためにいくつかの関数を構築するか、データベースの外でこれを解決するか、あるいはHTML文字列と実際の文字列の両方を検索のために格納します(または実際の文字列のみをHTMLとする必要があります。 –

答えて

0

https://dev.mysql.com/doc/refman/5.7/en/charset-literal.html

A nonbinary string with latin1 character set and latin1_german1_ci collation:

SELECT _latin1'übung' COLLATE latin1_german1_ci; 

result 
übung 

データベースの照合順序を確認し

https://makandracards.com/makandra/2529-show-and-change-mysql-default-character-set

SHOW VARIABLES LIKE 'char%'; 

私は、UTF8場合にのみ... LATIN1を使用することができますので、あなたがlatin1のに設定されている数えますあなたを許すべきです。

関連する問題