ホームページ >データベース >mysql チュートリアル >mysql がエンコーディングの変更に失敗した場合はどうすればよいですか?

mysql がエンコーディングの変更に失敗した場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2020-11-02 09:16:391887ブラウズ

mysql がエンコードを変更できない問題の解決策は、接続 URL の後にコード「?useUnicode=true&characterEncoding=UTF-8」を追加することです。

mysql がエンコーディングの変更に失敗した場合はどうすればよいですか?

推奨: 「mysql ビデオ チュートリアル

失敗したエンコーディング変更に対する mysql ソリューション

問題の説明:

UTF8 に変更した後、mysql を再入力すると、自動的に latin1 に戻ります。

非常に簡単な方法があります。 URL への接続 以上です:

?useUnicode=true&characterEncoding=UTF-8

2 つの属性間のアンパサンド エスケープ文字とスペースには特別な注意を払う必要があります。そうしないと、エラーが報告されます。

hibernate.cfg.xml 設定ファイルの例は次のとおりです。



 
     
< hibernate-configuration >
 
     < session-factory >
         < property name = "dialect" >
             org.hibernate.dialect.MySQLDialect
         
         < property name = "connection.url" >
             jdbc:mysql://localhost:3306/share?useUnicode=true&amp;characterEncoding=UTF-8
         
         < property name = "connection.username" >root
         < property name = "connection.password" >accp
         < property name = "connection.driver_class" >
             com.mysql.jdbc.Driver
         
         < property name = "myeclipse.connection.profile" >ssh
         < property name = "show_sql" >true
         < property name = "format_sql" >true
         < mapping resource = "cn/lihuoqing/po/ShUser.hbm.xml" />
         < mapping resource = "cn/lihuoqing/po/ShOptions.hbm.xml" />
         < mapping resource = "cn/lihuoqing/po/ShFiles.hbm.xml" />
         < mapping resource = "cn/lihuoqing/po/ShComments.hbm.xml" />
         < mapping resource = "cn/lihuoqing/po/ShDown.hbm.xml" />
     

======================== ==== ======

1 データベース レベルを変更します

a. 一時的な変更:

mysql>SET GLOBAL Character_set_database=utf8;

b. 永続的な変更:

サーバー レベルを変更するだけです

2. テーブル レベルを変更します

mysql>ALTER TABLE table_name DEFAULT CHARSET utf8;

変更は永続的に有効になります

3 . 列レベルを変更します

変更例:

          mysql>alter 
table `products` change `products_model` `products_model` varchar( 20 ) 
         character set  utf8 collate utf8_general_ci null default null;

永続効果変更後

4. 接続文字セットを変更します

A. ; 名前を設定しますutf8;

b. 永続的な変更:

my.ini ファイル (Linux の場合は my.cnf) を変更します

my.ini

     [client]
       default-character-set=utf8
       [mysql]
        default-character-set=utf8
        [mysqld]
       default-character-set=utf8

から始めますLinux でこれを変更すると問題が発生しやすくなります。エラーが発生した場合は、http://blog.csdn.net/zhongdajiajiao/article/details/51698845

を参照してください。

以上がmysql がエンコーディングの変更に失敗した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。