2009-05-10 7 views
1

特定のテーブルの文字エンコーディングを設定するにはどうすればよいですか?例:Hsqldbテーブルエンコーディング

 
CREATE TABLE COMMENTS (
    ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, 
    TXT LONGVARCHAR, 
    PRIMARY KEY (ID) 
) 

デフォルトでは、ASCIIとしてエンコードされていますが、この1つの表ではUTF-8を使用します。

答えて

1

デフォルトでASCIIとしてエンコードされていますか?私の読書は、デフォルトではUTF-8だということでしたが、私はここで修正することができます。

は、それがTEXTテーブルがあります場合は、問題は、インポートする前に、すべての行を変換しなければならないということであるテーブル

SET TABLE mytable SOURCE "myfile;encoding=UTF-8" 
+0

および 'myfile'は何ですか???????????? – rapt

0

のエンコーディングを指定することができます。
これを行うには、内容をファイルにエクスポートし、そのファイルをutf-8に変換する必要があります。その後、utf-8オプションを使用して再度インポートします。

MyPHPadminはutf-8オプションでインポートできます(ファイル内のCHARSET = latin1/latin1を確認してください)。

手動彼女にそれを行うことがよりについて読むことができます:http://en.gentoo-wiki.com/wiki/Convert_latin1_to_UTF-8_in_MySQL

+0

申し訳ありませんあなたが話したのはHyperSQLだとは思いませんでした。しかし、それがあなたを助けることを願っています。 –

1

HSQLDBは​​確かに(あなたがUTF-8を指定する必要がTEXTテーブルの例外を除いて)は、Unicodeのすべてのデータを格納します。したがって、通常の表の文字エンコードを指定する必要はありません。

+0

あなたは結局どのようにエンコーディングを変更するかは言いませんでした。そして私はドキュメントでそれを見つけることができませんでした。 "HSQLDBは​​確かにすべてのデータをUnicodeに保存します" - 多くのUnicodeエンコーディングがあります。 UTF-8、UTF-16 - デフォルトでHSQLDBを使用していますか? – rapt

+0

Java文字列はUTF-16です。このエンコーディングは変更できません。 – fredt

+0

OPへのあなたの答えは、テーブルがUTF-8であると言っているようです。とにかく(TomcatのJavaサーブレットによって)テーブルとの間でINSERTとSELECTを実行します。私はUTF-8 Javaファイルにデータを挿入します(これは私のOSのデフォルトです)。どのように正しく挿入されますか?そして、私はこのデータを選択してウェブページに印刷しますが、単に「???????」と表示されます。 'httpServletResponse.setContentType(" text/html; charset = UTF-8 ");' – rapt