çŸåšãããŒã«ã«ã§ã¯åäœããã®ã«gaeã«ã¢ããããŒããããŠåäœããããšã
Error: Server Error
The server encountered an error and could not complete your request.
If the problem persists, please report your problem and mention this error
message and the query that caused it.
ãšãããšã©ãŒã衚瀺ãããŸãã
ïŒæ€çŽ¢ç»é¢ã§GqlQueryãå®è¡ããåŠçã§çºçããŠãããããªæãã§ãïŒ
ã°ã°ããŠã¿ããšããã°ãèŠããšã»ã»ã»ãšããããŠããããããã¿ããšã€ã³ããã¯ã¹ã
äœæãããŠããªãçãåå ãåãããããªããšãæžããŠãããŸããã
ã§ã質åã§ãããéåžžã«ç°¡åãããããŸãããäžèšã®2ç¹ã質åãããŠãã ããã
ïŒïŒgaeã§å®è¡ãããšãã°ïŒãšããã®ã¯ãã³ã«ä¿åãããŠããŠãã©ããã£ãŠã¿ãããš
ãã§ããã®ã§ããããïŒ
ããïŒãŸãããimport loggingã§å®è¡ããlogging.debugã§ã¯ãªãã§ãããïŒ
ïŒïŒãããã管çã³ã³ãœãŒã«ã®ããŒãžã衚瀺ã§ããŸãã
ããigoogleã§èªåã®ã¡ãŒã«ã¢ãã¬ã¹ã»ãã¹ã¯ãŒãã§å
¥ã£ãåŸãã©ããããšç®¡çã³ã³
ãœãŒã«ãã³ã³ãããŒã«ããã«ã®ããŒãžãžç§»ååºæ¥ãã®ã§ããããïŒ
ããïŒåããŠå
¥ã£ãæã¯è¡šç€ºãããŠããŸããŠãããã§ã¢ããªã±ãŒã·ã§ã³ãšãèšå®ããŸ
ãããããã®åŸã¯ãã®ããŒãžãžç§»åã§ããŸãããïŒ
以äžãããããé¡ãããŸãã
2010/1/10 èµ€å¡ <k...@jsdlab.co.jp>:
> èµ€å¡ã§ã
>
> çŸåšãããŒã«ã«ã§ã¯åäœããã®ã«gaeã«ã¢ããããŒããããŠåäœããããšã
>
> Error: Server Error
> The server encountered an error and could not complete your request.
>
> If the problem persists, please report your problem and mention this error
> message and the query that caused it.
>
> ãšãããšã©ãŒã衚瀺ãããŸãã
> ïŒæ€çŽ¢ç»é¢ã§GqlQueryãå®è¡ããåŠçã§çºçããŠãããããªæãã§ãïŒ
>
> ã°ã°ããŠã¿ããšããã°ãèŠããšã»ã»ã»ãšããããŠããããããã¿ããšã€ã³ããã¯ã¹ã
> äœæãããŠããªãçãåå ãåãããããªããšãæžããŠãããŸããã
>
> ã§ã質åã§ãããéåžžã«ç°¡åãããããŸãããäžèšã®2ç¹ã質åãããŠãã ããã
>
> ïŒïŒgaeã§å®è¡ãããšãã°ïŒãšããã®ã¯ãã³ã«ä¿åãããŠããŠãã©ããã£ãŠã¿ãããš
> ãã§ããã®ã§ããããïŒ
> ïŒãŸãããimport loggingã§å®è¡ããlogging.debugã§ã¯ãªãã§ãããïŒ
管çã³ã³ãœãŒã«ã§ç¢ºèªã§ããŸãã
>
> ïŒïŒãããã管çã³ã³ãœãŒã«ã®ããŒãžã衚瀺ã§ããŸãã
> igoogleã§èªåã®ã¡ãŒã«ã¢ãã¬ã¹ã»ãã¹ã¯ãŒãã§å
¥ã£ãåŸãã©ããããšç®¡çã³ã³
> ãœãŒã«ãã³ã³ãããŒã«ããã«ã®ããŒãžãžç§»ååºæ¥ãã®ã§ããããïŒ
> ïŒåããŠå
¥ã£ãæã¯è¡šç€ºãããŠããŸããŠãããã§ã¢ããªã±ãŒã·ã§ã³ãšãèšå®ããŸ
> ãããããã®åŸã¯ãã®ããŒãžãžç§»åã§ããŸãããïŒ
http://appengine.google.com/
ãããã°ã€ã³ããŠã¿ãŠãã ããã
ãã¡ããã©ãã
http://code.google.com/intl/ja/appengine/docs/theadminconsole.html
Happy coding :-)
--
Takashi Matsuo
Kay's daddy
> 以äžãããããé¡ãããŸãã
>
>
> --
> ãã®ã¡ãŒã«ã¯ Google ã°ã«ãŒãã®ã°ã«ãŒããGoogle-App-Engine-Japanãã®ç»é²è
ã«éãããŠããŸãã
> ãã®ã°ã«ãŒãã«æçš¿ããã«ã¯ãgoogle-app-...@googlegroups.com ã«ã¡ãŒã«ãéä¿¡ããŠãã ããã
> ãã®ã°ã«ãŒãããéäŒããã«ã¯ãgoogle-app-engine...@googlegroups.com ã«ã¡ãŒã«ãéä¿¡ããŠãã ããã
> 詳现ã«ã€ããŠã¯ãhttp://groups.google.com/group/google-app-engine-japan?hl=ja ãããã®ã°ã«ãŒãã«ã¢ã¯ã»ã¹ããŠãã ããã
>
>
>
>
ãã€ãçŽ æ©ãè¿ä¿¡ã倧å€ããããšãããããŸãã
ïŒæ©ãå©ããåŽã«è¡ãããã»ã»ïŒ
ããŠãæããŠããã ããæ¹æ³ã§ãã°ã確èªãããšããã
<type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte
0xe6 in position 12: ordinal not in range(128)
ãšãããšã©ãŒãçºçããããããšåãããŸããã
ããã¯ä»¥åã©ããã§ãasciiãšUnicodeãæ··åšããŠè¡šç€ºãããããšããŠå€±æããããã
ã©ã£ã¡ã«åãããå¿
èŠããããããšããã®ãèŠãèŠãããããŸãã
ãšããããäžèšã®ãã¬ãŒã¹ãã°ãèŠãŠããã©ãã該åœããå Žæãªã®ããããããŸããã
ãã¬ãŒã¹ãã°ïŒ
<type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte
0xe6 in position 12: ordinal not in range(128)
Traceback (most recent call last):
File "/base/data/home/apps/cyaobin/1.339068614349180998/start.py", line
187, in <module>
main()
File "/base/data/home/apps/cyaobin/1.339068614349180998/start.py", line
184, in main
run_wsgi_app(application)
File "/base/python_lib/versions/1/google/appengine/ext/webapp/util.py",
line 97, in run_wsgi_app
run_bare_wsgi_app(add_wsgi_middleware(application))
File "/base/python_lib/versions/1/google/appengine/ext/webapp/util.py",
line 115, in run_bare_wsgi_app
result = application(env, _start_response)
File
"/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py",
line 527, in __call__
response.wsgi_write(start_response)
File
"/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py",
line 241, in wsgi_write
body = self.out.getvalue()
File "/base/python_dist/lib/python2.5/StringIO.py", line 270, in getvalue
self.buf += ''.join(self.buflist)
ãœãŒã¹ïŒïŒæ±ãã§ããïŒ
# æ€çŽ¢åŠç
class Search (webapp.RequestHandler):
def post(self):
logging.debug("search try.") #ããã§ãã°ãåºå
#çŸåšã®æ€çŽ¢æ¡ä»¶
search_input = self.request.get('search_input')
logging.debug ('search_input = [' + search_input + ']')
#çŸåšã®æ€çŽ¢æ¡ä»¶ã§æ€çŽ¢ãã
query = db.GqlQuery ("select * from IdPwdRecord where id = :id " ,
id=search_input)
results = query.fetch (10)
self.response.out.write ('<HTML>')
if len(results) == 0:
self.response.out.write ('ããŒã¿ã¯ãããŸãã')
else:
self.response.out.write ('<table>')
for q in results:
self.response.out.write ('<tr>')
self.response.out.write ('<td>' + q.id + '</td>')
self.response.out.write ('<td>' + q.pwd + '</td>')
self.response.out.write ('<td>' + q.yobi + '</td>')
self.response.out.write ('</td>')
self.response.out.write ('</table>')
self.response.out.write ('</HTML>')
self.response.out.write ('<a href="/">æ»ã')
ãã°ãåã蟌ãã§ãæåŸã®self.response.out.write('<a href="/">æ»ã')ãŸã§å®è¡
ãããŠããã®ã¯ç¢ºèªæžã¿ã§ãã
該åœã®HTMLããŒãžïŒ
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charaset=UTF-8" />
<meta http-equiv="Content-Language" content="ja" />
<link type="text/css" rel="stylesheet"
href="/stylesheets/main.css" />
</head>
<body>
æ€çŽ¢æ¡ä»¶ãå
¥åããŠãã ãã<BR><BR>
<center>
<form action="/search" method="post">
<div>åç§°ïŒ<input name="search_input"></input></div>
<div><input type="submit" value="æ€çŽ¢"></div>
</form>
</center>
</body>
</html>
以äžãåããããã§ããããé¡ãããŸãã
> ãã®ã°ã«ãŒãããéäŒããã«ã¯ãgoogle-app-engine-japan+unsubscribe@googlegrou
ããããã§ãã
æåã³ãŒãæå®ãããããŸããããŸãããã
ãœãŒã¹ã³ãŒãã utf-8 ã§æžãããŠãããªãããœãŒã¹ã³ãŒãã®1è¡ç®ã2è¡ç®ã«
# coding: utf-8
ãšæžããŠã¿ãŠãã ããã
Happy coding :-)
--
Takashi Matsuo
Kay's daddy
2010/1/10 èµ€å¡ <k...@jsdlab.co.jp>:
æããŠããã ãã
> ãœãŒã¹ã³ãŒãã utf-8 ã§æžãããŠãããªãããœãŒã¹ã³ãŒãã®1è¡ç®ã2è¡ç®ã«
> # coding: utf-8
> ãšæžããŠã¿ãŠãã ããã
ã§ããããã¡ã§ããã
äžèšã®ãããªç¶æ
ïŒ
ç»é²ããŠããããŒã¿ïŒããããã
æ€çŽ¢ããŒïŒã
åŠçæåïŒæ€çŽ¢ã«ãããããªãïŒ
æ€çŽ¢ããŒïŒã
åŠçæåïŒæ€çŽ¢ã«ãããããªãïŒ
æ€çŽ¢ããŒïŒã
åŠçæåïŒæ€çŽ¢ã«ãããããªãïŒ
æ€çŽ¢ããŒïŒã
åŠçæåïŒæ€çŽ¢ã«ãããããªãïŒ
æ€çŽ¢ããŒïŒã
åŠçæåïŒæ€çŽ¢ã«ãããããªãïŒ
æ€çŽ¢ããŒïŒãããããš
åŠç倱æïŒåããããªServer Errorçºç)
ã§ãè²ã 調ã¹ãçµæãäžèšã®ããã«ããçµæãããŸããããŸããã
ïŒïŒã³ãŒãã®ä¿å圢åŒãutf-8ïŒBOMæãïŒããutf-8nïŒBOMç¡ãïŒã«å€æŽ
ïŒïŒresponse.out ããŠãããšããã u ãä»äž ãã
self.response.out.write (u'<td>' + q.id + u'</td>')
ããŸããã£ãçç±ïŒæ³åïŒ
1.ãããŒã¿å
¥åããïŒïŒ¬ã¯UTF-8æå®ãªã®ã§ãå
¥åããããŒã¿ã¯asciiã§ã¯ãªãUT
F-8ã§å
¥åããã
ïŒïŒããŒã¿ãç»é²ããpythonã³ãŒãã¯ã# coding: utf-8 ã«ãããã¹ãŠutf-8ãšããŠ
åŠçãããDBç»é²æã«utf-8ãšããŠä¿åãããã
ïŒïŒæ€çŽ¢åŠççµæã§ response.write ããæãæå®ããæã« unicodeæå®ãè¡ãããš
ã§ãåºå®æåå㯠unicodeã§åºåãããã
ãããŸãã¯ãšãªçµæã®å€æ°ã¯ utf-8 ã§ããããïŒæé»çïŒã«unicodeã«å€æããã
ããŒãããã ãããããã
以äž