質問編集履歴

3

MeCabのコンストラクタについての調査

2018/07/29 18:39

投稿

testcase
testcase

スコア18

test CHANGED
File without changes
test CHANGED
@@ -182,6 +182,8 @@
182
182
 
183
183
 
184
184
 
185
+
186
+
185
187
  その後、以下の事柄を試しました。
186
188
 
187
189
 
@@ -277,3 +279,61 @@
277
279
  まだMecabについては上手く表示ができておりませんので、
278
280
 
279
281
  引き続き試していきたいと思います。
282
+
283
+
284
+
285
+
286
+
287
+ その後、この直上のプログラムで、コメント記号を外した
288
+
289
+ ```Python3
290
+
291
+ mc = MeCab.Tagger('-Ochasen')
292
+
293
+ ```
294
+
295
+ は、コマンドライン上での実行と併せて
296
+
297
+ ```Python3
298
+
299
+ mc = MeCab()
300
+
301
+ ```
302
+
303
+ とした方がよいことがわかりました。
304
+
305
+ しかし、コメント記号を外すと
306
+
307
+ いずれでも500 internal Server Errorとなります。
308
+
309
+ ちなみに、このmcをprint文で表示させると、
310
+
311
+ ```Python3
312
+
313
+ <natto.mecab.MeCab model=<cdata 'mecab_model_t *' 0x55f5d313c190>,
314
+
315
+ tagger=<cdata 'mecab_t *' 0x55f5d31dc950>,
316
+
317
+ lattice=<cdata 'mecab_lattice_t *' 0x55f5d31463a0>,
318
+
319
+ libpath="/home/.../bin/mecab/lib/libmecab.so",
320
+
321
+ options={},
322
+
323
+ dicts=[<natto.dictionary.DictionaryInfo dictionary=
324
+
325
+  <cdata 'mecab_dictionary_info_t *' 0x55f5d3133660>,
326
+
327
+  filepath="/home/.../bin/mecab/lib/mecab/dic/ipadic/sys.dic",
328
+
329
+ charset=utf-8, type=0>],
330
+
331
+ version=0.996>
332
+
333
+ ```
334
+
335
+ このようになります。
336
+
337
+ 引き続き調査します。
338
+
339
+ よろしくお願いします。

2

文字コード面での改善

2018/07/29 18:39

投稿

testcase
testcase

スコア18

test CHANGED
File without changes
test CHANGED
@@ -179,3 +179,101 @@
179
179
  どのようにすればいいのかご教授いただけますと幸甚です。
180
180
 
181
181
  よろしくおねがいします。
182
+
183
+
184
+
185
+ その後、以下の事柄を試しました。
186
+
187
+
188
+
189
+ ```Python3
190
+
191
+ #!/usr/bin/env python3.4
192
+
193
+ # -*- coding: utf-8 -*-
194
+
195
+
196
+
197
+ import sys
198
+
199
+ import io
200
+
201
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
202
+
203
+ #sys.stdout.write('Content-type: text/html; charset=UTF-8\n\n')
204
+
205
+
206
+
207
+ import cgi
208
+
209
+ # enable debugging
210
+
211
+ import cgitb
212
+
213
+ cgitb.enable()
214
+
215
+
216
+
217
+ from natto import MeCab
218
+
219
+
220
+
221
+ #mc = MeCab.Tagger('-Ochasen')
222
+
223
+
224
+
225
+ text = "おはようございます。"
226
+
227
+
228
+
229
+ #ma = mc.parse(text)
230
+
231
+
232
+
233
+ print("Content-Type: text/html; charset=utf-8\n\n")
234
+
235
+ print("""
236
+
237
+ <!DOCTYPE html>
238
+
239
+ <html>
240
+
241
+ <head>
242
+
243
+ <meta charset="utf-8x">
244
+
245
+ <title>CGIスクリプト</title>
246
+
247
+ </head>
248
+
249
+ <body>
250
+
251
+ <pre>
252
+
253
+ """)
254
+
255
+ #print(ma)
256
+
257
+ print(text)
258
+
259
+ print("""
260
+
261
+ </pre>
262
+
263
+ </body>
264
+
265
+ </html>
266
+
267
+ """)
268
+
269
+ ```
270
+
271
+
272
+
273
+ このようにすることで、少なくとも文字コードはUTF-8に統一され、
274
+
275
+ Mecabを利用しない範囲においては、表示されるようにはなりました。
276
+
277
+ まだMecabについては上手く表示ができておりませんので、
278
+
279
+ 引き続き試していきたいと思います。

1

タグの修正を行いました。

2018/07/27 15:07

投稿

testcase
testcase

スコア18

test CHANGED
File without changes
test CHANGED
File without changes