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

オブジェクトの永続化中にHibernateが誤ってエンコードする[UTF-8]

    データソースでエンコーディングを設定してみてください

     <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="url">
            <value>jdbc:mysql://127.0.0.1:3306/databaseName?characterEncoding=UTF-8</value>
        </property>
        <property name="username">
            <value>?</value>
        </property>
    </bean>
    

    また、フォームからの入力が適切にエンコードされていることを確認しますか?春のアプリケーションでフィルターを使用していますか?アプリケーションをデバッグモードで実行し、永続化する前にモデルオブジェクトのフィールドを確認します。

    フィルタはweb.xmlファイルに配置する必要があります:

    <filter>
        <filter-name>SetCharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>SetCharacterEncodingFilter</filter-name>
        <url-pattern>*</url-pattern>
    </filter-mapping>
    


    1. 関数またはストアドプロシージャからテーブルを返すtsql

    2. MySQL:N行を選択しますが、1つの列に一意の値のみが含まれます

    3. SQL ServerでNULLを別の値に置き換える方法– ISNULL()

    4. C#から出力パラメータとして参照カーソルを使用してOracle関数を呼び出す方法は?