MYSQL内で直接文字を試すと、Javaがそこに配置した場合にのみ機能すると述べていますが、それは正しくありません。
コードでこれらの文字を検索し、それらをテキスト ファイルまたは std にダンプして、テキスト std 出力と db に送信されたものを比較する短いテストを試みましたか?
また、何が送信されたかを確認するために、db トランザクションを保存する価値があります。
mysql 構成に関する限り、テーブルと mysql 自体が utf-8 モードで実行されていることを確認してください。
[client]
default-character-set=utf8
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
collation-server=utf8_general_ci
以下で実行した各 DB 名に対して上記が /etc/mysql/my.cnf に配置されていることを確認して、テーブルをダンプし、各テーブルに変更行を追加して utf8 に変換します。
select CONCAT("Alter Table `", i.TABLE_NAME, "` CONVERT TO CHARACTER SET utf8;") as MySQLCMD from information_schema.TABLES i where i.TABLE_SCHEMA =
"userbase" INTO OUTFILE '/tmp/userbase.csv' ;
試してみる価値のある他のこと - 特に、このサーバーに utf-8 で書き込む場合:
Linux システム環境:
Unix ロケール ロケール
LANG=en_GB.UTF-8 LC_CTYPE="en_GB.UTF-8" LC_NUMERIC="en_GB.UTF-8" LC_TIME="en_GB.UTF-8" LC_COLLATE="en_GB.UTF-8" LC_MONETARY="en_GB.UTF- 8" LC_MESSAGES="en_GB.UTF-8" LC_PAPER="en_GB.UTF-8" LC_NAME="en_GB.UTF-8" LC_ADDRESS="en_GB.UTF-8" LC_TELEPHONE="en_GB.UTF-8" LC_MEASUREMENT=" en_GB.UTF-8" LC_IDENTIFICATION="en_GB.UTF-8" LC_ALL=
これを修正するには
sudo dpkg-reconfigure locales select en_GB.UTF-8
update-locale LANG=en_GB.UTF-8
サービスが utf-8 をユーザーとして選択するようにボックスを再起動します。完全にログアウトして再度ログインし、再起動する前にロケールを確認して、機能することを確認します。
これで、ローカル ssh で日本語を入力できるようになります (設定で putty utf-8 を選択する必要がある場合)。
- Tomcat: URIEncoding="UTF-8" を追加
私も追加しました
<Connector port="8009"......
protocol="AJP/1.3" URIEncoding="UTF-8" />
3.2 ローカル サイトの web.xml (WEB-INF 内) web.xml (これが必須かどうか不明)
<web-app>
<filter>
<filter-name>charsetFilter</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
次に、マッピングを探して追加します。
<!-- Define filter mappings for the defined filters -->
<filter-mapping>
<filter-name>charsetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
適切な utf-8 エディター (utf-8 を有効にするオプションを備えたメモ帳 ++) または kate などで udp 文字列を保存および表示する価値のある特定の文字破損の問題に遭遇しました。
また、さまざまな utf-8 文字をテストします。動作する文字と、標準出力またはファイル経由で動作しない可能性のある文字です。
http://www.fileformat.info/info/unicode/char/search.htm
文字が同じであることを確認して
ください http://www.fileformat.info/info/unicode/char/00ae/index.htm