DOBON.NETプログラミング道掲示板

No34175 の記事


■34175 / )  Re[4]: ポルトガル語の登録
□投稿者/ 魔界の仮面弁士 大御所(1211回)-(2019/03/01(Fri) 11:15:24)
  • アイコン
    No34174に返信(魔界の仮面弁士さんの記事)
    > 妙ですね。
    > 当方環境で追試験してみましたが、下記の 4 や 5 では問題ありませんでした。
    
    NVARCHAR 列に照合順序を明示した場合もテストしてみたので、一応参考までに。
    なお、当方データベースの照合順序は [Japanese_BIN] です。
    
    /*
    
    CREATE TABLE Example
    (
      Id int NOT NULL PRIMARY KEY,
      Msg1 nvarchar(MAX)                                NULL,
      Msg2 nvarchar(MAX) COLLATE Japanese_CI_AS         NULL,
      Msg3 nvarchar(MAX) COLLATE Japanese_BIN2          NULL,
      Msg4 nvarchar(MAX) COLLATE Japanese_XJIS_100_BIN2 NULL,
      Msg5 nvarchar(MAX) COLLATE Japanese_Unicode_BIN2  NULL
    )
    
    */
    
    
    string 葡語 = "Com licen\u00E7a, voc\u00EA pode falar Portugu\u00EAs?";
    
    string template1 = "INSERT INTO Example (Id, Msg1, Msg2, Msg3, Msg4, Msg5) VALUES ({0}, N'{1}', N'{1}', N'{1}', N'{1}', N'{1}')";
    string template2 = "INSERT INTO Example (Id, Msg1, Msg2, Msg3, Msg4, Msg5) VALUES ({0},  '{1}',  '{1}',  '{1}',  '{1}',  '{1}')";
    
    
    // 下記では、すべての列でアクセント記号が維持されていた。
    string sql1 = string.Format(template1, 1, 葡語);
    
    // 下記では、すべての列でアクセント記号が失われていた。
    string sql2 = string.Format(template2, 2, 葡語);

違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -