• 締切済み

SpreadSheet::ParseExcelで取得できない文字について

Spreadsheet::ParseExcelでExcelから取得できない文字があります。 取得できない文字: 1.前腸 2.胚 3.葯 4.優性 情報をお持ちの方がいらっしゃいましたら宜しくお願いいたします。 環境はSolaris10でPerl5.8.4です。 以下のように取得時のフォーマットをFmtJapanにて指定しています。 my $oFmtJ =Spreadsheet::ParseExcel::FmtJapan->new(Code => 'euc'); わかっていること・・ 1)文字コードをeucとすると1から4まで全て取得できません。 2)文字コードをsjisとすると2、3が取得できません。 3)文字コードをutf8とすると1のみが取得できません。 1から4まで全て取得したいです。

  • Perl
  • 回答数1
  • ありがとう数4

みんなの回答

noname#227025
noname#227025
回答No.1

Solaris 10 の詳細なバージョンおよびパッチの適用状況はどうなっていますか? なお、私の手元の環境では特に問題なく取得できましたよ。 以下、環境の情報です。 % cat /etc/release Solaris 10 8/07 s10x_u4wos_12b X86 Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 16 August 2007 % uname -a SunOS xxxxxxx 5.10 Generic_141445-09 i86pc i386 i86pc % /usr/bin/perl -V Summary of my perl5 (revision 5 version 8 subversion 4) configuration: Platform: osname=solaris, osvers=2.10, archname=i86pc-solaris-64int uname='sunos localhost 5.10 i86pc i386 i86pc' config_args='' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO', optimize='-O2 -fno-strict-aliasing', cppflags='' ccversion='GNU gcc', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='gcc', ldflags ='' libpth=/lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-R /usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE' cccdlflags='-fPIC', lddlflags='-G' Characteristics of this binary (from libperl): Compile-time options: USE_64_BIT_INT USE_LARGE_FILES Locally applied patches: 22667 The optree builder was looping when constructing the ops ... 22715 Upgrade to FileCache 1.04 22733 Missing copyright in the README. 22746 fix a coredump caused by rv2gv not fully converting a PV ... 22755 Fix 29149 - another UTF8 cache bug hit by substr. 22774 [perl #28938] split could leave an array without ... 22775 [perl #29127] scalar delete of empty slice returned garbage 22776 [perl #28986] perl -e "open m" crashes Perl 22777 add test for change #22776 ("open m" crashes Perl) 22778 add test for change #22746 ([perl #29102] Crash on assign ... 22781 [perl #29340] Bizarre copy of ARRAY make sure a pad op's ... 22796 [perl #29346] Double warning for int(undef) and abs(undef) ... 22818 BOM-marked and (BOMless) UTF-16 scripts not working 22823 [perl #29581] glob() misses a lot of matches 22827 Smoke [5.9.2] 22818 FAIL(F) MSWin32 WinXP/.Net SP1 (x86/1 cpu) 22830 [perl #29637] Thread creation time is hypersensitive 22831 improve hashing algorithm for ptr tables in perl_clone: ... 22839 [perl #29790] Optimization busted: '@a = "b", sort @a' ... 22850 [PATCH] 'perl -v' fails if local_patches contains code snippets 22852 TEST needs to ignore SCM files 22886 Pod::Find should ignore SCM files and dirs 22888 Remove redundant %SIG assignments from FileCache 23006 [perl #30509] use encoding and "eq" cause memory leak 23074 Segfault using HTML::Entities 23106 Numeric comparison operators mustn't compare addresses of ... 23320 [perl #30066] Memory leak in nested shared data structures ... 23321 [perl #31459] Bug in read() 27722 perlio.c breaks on Solaris/gcc when > 256 FDs are available SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962 6663288 Upgrade to CGI.pm 3.33 REGEXP0 - fix for UTF-8 recoding in regexps - CVE-2007-5116 6758953 Perl Sys::Syslog can log messages with wrong severity Built under solaris Compiled at May 20 2009 22:16:00 @INC: /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl

hira1bg
質問者

お礼

ご回答ありがとうございます。 また、環境の情報をありがとうございます。 xinuさんの環境で取得できたということでSpreadSheet::ParseExcel自体の問題ではなさそうですね。 当方の環境と比較してみます。

関連するQ&A

  • OSの文字コードを取得

    ココでも、googleでも検索したのですが みつけられなかったので教えてください。 Perlスクリプトを書いているのですが OSの文字コードを取得する方法があれば知りたいです。 具体的には Encode::from_to($aaa, "utf8","euc-jp"); という部分の"euc-jp"を、直で書きたくないのです。 my $os_encode = *****; として、なんとかうまく取得して Encode::from_to($aaa, "utf8",$os_encode); としたいのです。 OSの文字コードを取得する方法があれば教えてください。 よろしくお願いいたします。

  • Solarisの文字コードについて

    Solaris8をインストールしました。 文字コードはEUCになっていると思いますが、テキストファイルを EUCでSolaris8サーバにアップロードしてもviで参照すると文字化けしてしまいます。 (1)システムの文字コードの確認方法を教えて下さい。 (2)文字コードをSJISからEUCに変換する方法を教えて下さい。 (nkfコマンドを打ってもcommand not foundになります。。標準ではインストールされないのでしょうか?) p.s OSのインストール時、下記のように入力しました。 ・Select a Locale →0.Japanese EUC(ja) ・ソフトウェアの対応地域 →アジア・Japanese EUC(ja)、Japanese PC Kanji(ja_JP.PCK)、Japanese UTF-8(ja_JP.UTF-8)

  • WWW::Mechanizeの文字コードについて質問

    WWW::Mechanizeの文字コードについて質問 以下のようなソースコードを書いて実行してみたのですが どのサイトを取得しても、すべて文字コードがUTF8だと認識されます。 ------------------------------------------------------- #!/usr/bin/perl #WWW:MechanizeでHTMLの取得 use WWW::Mechanize; $w = WWW::Mechanize->new(); $w->get("URL"); $html=$w->content; #文字コードの判別 use Encode; use Encode::Guess qw/ascii utf8 euc-jp shiftjis 7bit-jis/; my $dec = Encode::Guess->guess($html); print$dec->name; ------------------------------------------------------- 例えば以下のサイトは文字コードがEUC-JPですがこれもprintされるのはUTF8となってしまいます。 http://barukanlog.blog31.fc2.com/blog-entry-541.html WWW:Mechanizeでサイトを取得し、サイトの文字コードを調べてすべてsjisにする ということがしたいのですが、すべてutf8に判断されて先へ進めないんです。 何か設定やメソッドを追加しなくてはいけないのでしょうか? わかりにくい質問かとは思いますがご回答お願いします。

  • Perlの文字コード

    1-2年ほど前、Perl5.8でソース自体をUTF8N(LF)で記述するようになり、 以下のように書いていました。 use utf8; use encoding "utf8"; use Encoding; それからPHPに移り、PHPでは、ソースはEUC-JP、DBもEUC、HTMLに出力する際もEUC-JPで統一していました。 最近またperlを使い出して疑問に思ったのですが、 perlではどのような文字コードで統一すれば一番よいのかということです。 javascriptはUTFだと動作しない端末(ザウルス)などあり、 perlもEUC-JPで統一しようと考えています。 昔、UTF8にこだわったのは、おそらく 「構」という文字は5Cなので、 文字コードによる不具合(ソース,js,cssで)を避けるためと、流行のUTF8にしたと思います。 perlでEUC-JPで文字コード統一させるメリットデメリットが知りたいです。 最近perlで書かれたサイトでHTML出力がShift_JISだったのですが、perlソースもシフトJISかは知りませんが、Shift_JISで統一するデメリットが知りたいです。 あと、WEBでどの文字コードが現在主流で、今後どうなるかも知りたいです。 EUC-JPで安泰なら、話は早いですが・・・

    • ベストアンサー
    • Perl
  • 文字コードの選択

    PHP+HTML(XML)をするにおいて、最も良い文字コードは何にしたら良いでしょうか?さいきん,特に  UTF-8,UTF-16 を聞きますが、  EUC,SJISなどの方が良いのでしょうか? また、それらの特徴とは,どのようなものでしょうか?  ASCIIも良いのでしょうか?

    • ベストアンサー
    • HTML
  • euc-jpからutf-8の文字コード変換について

    現在、何らかのhtmlを取得する際にはurf-8で統一しようと思っているのですが、 たとえば <?php $f=file_get_contents("http://blog.livedoor.jp/dqnplus/")//文字コードEUC-JP; $f = mb_convert_encoding($f,"utf-8","eucjp-win,utf-8,sjis-win,EUC-JP"); echo $f; ?> では、EUC-JPからの変換がうまくいきません。 ……というより、EUC-JPのエンコーディングのみ失敗してしまいます。 (文字化けしたもののみ抽出すると、すべてEUC-JPでした) どのようなコードを書けば、正常にエンコードできるでしょうか。 どなたかご教示のほど、どうかよろしくお願いいたします。

    • 締切済み
    • PHP
  • TeraPadの文字コード

    TeraPadの文字コードについて教えてください。 1. TeraPadで扱える文字コードは Shift-JIS、JIS、EUC、Unicode、UTF-8、UTF-8N の6種類あるようですが、このEUCとEUC-JPは 同じものですか? 2. Shift-JISで保存すると、TeraPadの下の部分に 表示される文字コードがSJISとなります。 これはShift-JISのことですか? 3. 短い文章では文字コードを誤認識する場合も あるようですが、どうしたら正しく認識 させられますか? 指定した文字コードで保存できず困っています。

  • MySQL5.1の文字化け

    多くの方が同様の質問をされていたのですが、一致する問題が見つけれなかったので、ご存じの方がおられたら教えて下さいm(_ _)m (環境)  PHP 5.2.8 ZendFramework 1.5.1 から Pdo Mysqlを使用  文字コード:SJIS  Mysql 5.1  文字コード:EUC-JP (質問内容) 携帯の絵文字データをSJISのバイナリでスクリプト中に埋め込むため、スクリプトの文字コードをSJISに統一したところ、文字化けが発生しました。 SET NAMES SJIS のSQLを発行することで表示は正しくできるようなったのですが、新たにレコードを追加しようとすると文字化けが発生します。 例)情報 → 情表 insertを行う前の文字コードをSJIS,SJIS-win,EUCと変えてみましたが、SJISもしくはSJIS-winの場合は上記の例のとおりとなり、EUCにすると完全な文字化けとなりました... おそらく登録時にMYSQLがSJIS→UTF8→EUCに変換される時に正しく変換されていないものと思われるのですが、どなたか対処方法をご存じないでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • 文字コードを指定する際sjisなのかshift_jisかshift-jisなのか

    お世話になります。 perl5.8において文字コードを指定or変換する際 shift_jis shift-jis Shift_JIS SJIS EUC_JP EUC-JP utf-8 utf8 -と_の違いや大文字小文字の違いなど記述の違いを良く見かけるのですが、実際決まった指定方法などはあるのでしょうか。 逆に文字コードを指定する際、●●のように指定しても無効で●●のように指定しないと有効ではないですよ。。みたいな。 またperlに限らずPHPやHTML、XMLなどではどうなっているのでしょうか どなたかご存知の方いましたら ・上記3つの文字コードについてと ・perlのバージョンの違い、言語の違いなど 文字コードの文字列の指定に関する全般についてご教授願えませんでしょか。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • RSSで取得したデータが文字切れする件について

    PHPでRSSのデータを取得し表示するプログラムを作成しています。 以下の文で記事の本文を取得することはできるのですが、何故か文字切れしてしまいます。文字切れする最後の文末は必ず「...」で終了してしまいます。 $desc = mb_convert_encoding(strip_tags($ch[$i]['items'][$n]['description']), $code, "UTF-8,EUC-JP,SJIS"); このような場合、どう回避したら良いでしょうか? また上記内容で情報不足していたらご指摘下さい。

    • ベストアンサー
    • PHP

専門家に質問してみよう