sql >> データベース >  >> RDS >> Mysql

PHPスクリプトUTF8をMYSQLに挿入

    あなたの場合の3つの解決策...

    まず、UTF-8文字セットでデータベースを作成できます。変換は必要ありません。

    次に、このコードをテストできます...

    htmlentities(urldecode( $my_var_to_utf8 ), ENT_QUOTES, 'UTF-8');
    

    動作しない場合は、この機能を試してください...

    function to_utf8( $string ) {
            // From http://w3.org/International/questions/qa-forms-utf-8.html
            if ( preg_match('%^(?:
                    [\x09\x0A\x0D\x20-\x7E]              # ASCII
                    | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
                    | \xE0[\xA0-\xBF][\x80-\xBF]         # excluding overlongs
                    | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
                    | \xED[\x80-\x9F][\x80-\xBF]         # excluding surrogates
                    | \xF0[\x90-\xBF][\x80-\xBF]{2}      # planes 1-3
                    | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
                    | \xF4[\x80-\x8F][\x80-\xBF]{2}      # plane 16
            )*$%xs', $string) ) {
            return $string;
            } else {
                return iconv('CP1252', 'UTF-8', $string);
            }
        }
    

    使用するには...

    echo(to_utf8($my_var_to_utf8));
    



    1. Laravel-重複キーの一括挿入で大きなデータセットを更新

    2. ブートストラップCSSテーブルを使用してMySQLテーブルのデータを表示するにはどうすればよいですか?

    3. PostgreSQL 12:外部キーとパーティションテーブル

    4. DQLクエリで外部キーを返す