- PR -

英語版 Windows 2003 Server(ASP.NET)での日本語利用について

1
投稿者投稿内容
SHIN
会議室デビュー日: 2006/06/11
投稿数: 11
投稿日時: 2006-06-11 10:05
初めて投稿させて頂きます。
先日海外(英語)のレンタルサーバを借りて動作確認を行っているのですが、実行時にエラーが発生して困っています。

環境:Windows 2003 Server,ASP.NET 2.0

発生状況ですが、

Response.Write ("リンク")

と表記すると、

【エラーメッセージ】
Compiler Error Message: BC32017: Comma, ')', or a valid expression continuation expected.

【エラー部分】
Response.Write ("****"****") ←文字化け表記中に「"」が含まれている

となり、どうやらカタカナの「ン」が英語版だと「"」ダブルクォーテーションを含みエラーが発生しているようです。

文字化け時に「"」を含むような、文字が存在した場合、回避する方法はあるのでしょうか?

英語版で日本語(漢字)を利用するためのコーディング方法をご存知の方がいらっしゃれば教えていただけないでしょうか?


また、上記とは別にもしやと思い、ホスティングサービスのサポートに「.NET Framework 日本語 Language Pack」をインストールして欲しいとお願いしました。

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=39c8b63b-f64b-4b68-a774-b64e

サポートでは「インストールした」と言っているのですが、実行エラー時の表記が未だに英語なのですが、日本語表記をさせるための特別なコーディングが必要なのでしょうか?

よろしくお願い致します。


[ メッセージ編集済み 編集者: SHIN 編集日時 2006-06-11 10:06 ]

[ メッセージ編集済み 編集者: SHIN 編集日時 2006-06-11 10:09 ]
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-06-11 10:12
生成されているHTMLファイルや、HTTPヘッダの言語は何が帰ってきていますか?恐らくUnicode→指定されている言語への変換に失敗しているのではないかと思うのですが。
SHIN
会議室デビュー日: 2006/06/11
投稿数: 11
投稿日時: 2006-06-11 10:37
返信ありがとうございます。
うまく実行できている時のHTMLのソース表示→ <HEAD> 部分ですが、

<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>

となっていました。通常、言語の情報は含まれるのでしょうか?だとしたら、何も帰ってきていないような気がします。

言語を指定するコーディングが必要なのでしょうか?

それと、補足ですが、「<%@ Page >」のところに 日本語を指定すると(例えばcodepage="932" や "50221")同じようなエラーが発生します。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-06-11 13:53
引用:

SHINさんの書き込み (2006-06-11 10:37) より:
返信ありがとうございます。
うまく実行できている時のHTMLのソース表示→ <HEAD> 部分ですが、

<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>

となっていました。通常、言語の情報は含まれるのでしょうか?だとしたら、何も帰ってきていないような気がします。

言語を指定するコーディングが必要なのでしょうか?

それと、補足ですが、「<%@ Page >」のところに 日本語を指定すると(例えばcodepage="932" や "50221")同じようなエラーが発生します。


HEADの先頭に<meta http-equiv="Content-Type" content="text/html; charset=文字コード">って指定がないけど。
SHIN
会議室デビュー日: 2006/06/11
投稿数: 11
投稿日時: 2006-06-11 15:10
ぶさいくろう様 ありがとうございます。

まず、過去のスレッドで「@ page ディレクティブに codePage 属性を追加」すると「charset パラメータが追加される」とあるのですが、
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1632&forum=7

@ pageディレクティブに 「CodePage="932"」を指定しても<meta>要素は追加されませんでした。

そこで、ぶさいくろう様のご指摘を受けてmeta要素を書き加えました。

<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">

が、根本的な解決になっていないようで、
【エラー表示部】
Response.Write ("※※※"※※")
やはり特定の文字に対して「"」ダブルクォーテーションとして認識してしまうようです。
ちゃんみに、エラーの発生する文字を除いてやると

<HEAD>
<title>WebForm1</title>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
書き加えた部分は表示されていました。

甕星様の言われるとおり Unicodeから日本語(codepage=932)への変換時になにかおかしな事が起きているようですが、見当がつきません。

エラーの発生する文字を使わなければ良いんですが、それじゃちょっとねぇ・・・
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-06-12 05:13
引用:

Response.Write ("リンク")

と表記すると、

【エラーメッセージ】
Compiler Error Message: BC32017: Comma, ')', or a valid expression continuation expected.


海外のWebホスティングを利用していますが、日本語も問題なく動作しますね。

何か別の問題のような気がします。とりあえず、Webマスターに日本語が問題ないか
確認してみたらどうでしょうか。

あと、Web.configに以下の要素を追加するとか・・・

<globalization culture="ja-JP" uiCulture="ja-JP"/>


「リンク」を表示するプログラム:
http://akiokasai.qsh.eu/temp/temp01.aspx
コード:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
  Response.Write("リンク")
End Sub


_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-06-12 14:48
aspxファイルに保存するときの文字コードも影響すると思います。
VS.NETがSHIFT-JISで、WebMatrixがUnicodeだったかな。
Web.ConfigでFileEncodingを明示するとか。

http://europe.webmatrixhosting.net/japan/text.aspx?tmpl=board_thread&m_no=9438&d_no=68179
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26848&forum=7
SHIN
会議室デビュー日: 2006/06/11
投稿数: 11
投稿日時: 2006-06-12 21:16
Access様 todo様 ありがとうございます。

unicode保存で解決いたしました。
簡単なコーディングでしたのでtextエディタ(メモ帳)で編集をしておりました。

別にも海外サーバを利用しており、そこでは全く問題無かったので、同じコードなのに???と思っておりました。

日本人向けの海外サーバと、そうでないサーバでの違いが現れたのかと思います。

どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)