- ベストアンサー
文字化け
0x81AF U+FF0D # FULLWIDTH HYPHEN-MINUS [2000] unicodeからSJISに変換するプログラムを作っていますが、 上記のコードのみ、SJISでは表示されず、その原因がわかりません。 unicode「-」 SJIS「・」←と、なってしまう。 他の変換(全文字やったわけではありませんが)はうまくいっており、また、SJIS→unicodeへの変換をすれば元通り「-」の表示になります。考えられる原因はどんなものでしょうか? 環境 ・VC++6.0 ・Windows VISTA
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
関連するQ&A
- Unicode
先日は文字コードについて色々助言してくださりありがとうございました。 おかげさまでJIS,EUC,SJISの変換はできましたが、 Unicodeについて詰まっているところがあります。 SJIS→UnicodeはSJISにあったU+XXXXに変換し、 それを1~4バイトにさらに変換して文字表記されることで出来ます。 後者の1~4バイトにさらに変換するやり方は出来ているのですが、 前者のSJISにあったU+XXXXに変換するところで詰まっています。 ##SJIS Unicode Name Note 0x00 U+0000 # <control> 0x01 U+0001 # <control> 0x02 U+0002 # <control> 0x03 U+0003 # <control> 0x04 U+0004 # <control> 0x05 U+0005 # <control> 0x06 U+0006 # <control> 0x07 U+0007 # <control> : : こういった変換表(テキストファイル)があるのですが、 どのようにしたらこのファイルをプログラム上で操作? できるのでしょうか? 例)SJISで0x07→U+0007→1~4バイト変換の 0x07→U+0007部分についてです。 また、逆に変換する際の0x07←U+0007についても わからないでいます。 何かヒントをください。
- 締切済み
- C・C++・C#
- unicode <-> sjis 変換
UNICODEからSJISに変換するDLLをVC6.0で作成しました。 2層のswitch文で30000行(約400キロバイト)のソースファイルになりました。 コンパイル後も500キロバイトほどになります。 しかしvectorなどにおいてある変換ソフトをみると100キロバイトほど でした。そういったソフトはどのようにして変換しているのでしょうか? (APIかなにかを呼び出しているのでしょうか?) あるいはunicodeとsjisの漢字コードに数学的な相関関係があるのでしょうか?
- ベストアンサー
- C・C++・C#
- JavaScriptが文字化けする
JavaScriptファイルをSJIS、EUC、UTF8を統一したために スクリプト上で var str = "あいうえー"; をUTF16で var str = "\u3042\u3044\u3046\u3048\u30fc"; このように変換をしましたが alert("\u3402");とかですと、文字化けはしないのですが、 innerhtml="\u3402"; のようにやると、文字化けをしてしまいます。 どのようにしたら対処できますでしょうか? もし、対処方法なければ、仕方ないので、コード判別をできるようにと考えています。
- 締切済み
- JavaScript
- 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,JIS,EUC,Unicodの変換プログラムを作っています。 SJISを基調とし、それ以外とコード組む事で実現させていますが、 SJIS-Unicodeの変換がどのように行えばよいのかわかりません。 サイト等で対応表なども参考にしているのですが、 どこでどう使えばいいのか見当がつきません。 アドバイスお願いします。
- 締切済み
- C・C++・C#
- SJIS→UTF-8の文字コード変換
Perlで、SJISの16進で表記された文字があるのですが、それがうまく表示できません。 Unicodeの16進文字コードだとうまく表記できるのですが…。 以下がスクリプトです。 以下の場合だと。(句点)がSJISだと0x8142で、 その16進文字列を表示したいのですが、実行結果にあるエラーが出てしまいます。 Unicodeだと。は0x3002なのですが、うまく表示できています。 すみませんがよろしくお願いします。 ---------------------------------------- # このファイルの文字コードはSJIS # 改行コードはLF # # 。 SJIS 0x8142 # Unicode 0x3002 # use Jcode; use encoding "sjis"; $a = 0x8142; $a = Jcode->new($a, "sjis")->utf8; printf("句点の表示…%c\n",$a); printf("句点の表示…%c\n",0x3002); ---------------------------------------- 実行結果 "\x{8142}" does not map to shiftjis at test.pl line 14, <DATA> line 846. 句点の表示…\x{8142} 句点の表示…。
- ベストアンサー
- Perl
- VB6での文字コードダンプ
VB6を使用して文字のダンプを取得したいのですが、UNICODE→SJIS変換しての バイト長を取得するものはよく見かけるのですが、全角文字の文字コードの取得法は、調べてはいるのですがなかなか見つかりません。 行いたいことは、全角の"あ"の場合、0x82、0xa0のように SJISでの1バイト毎の16進(10進でも可)の文字コードを 取得したいということです。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- MP3が文字化けし、再生できなくなりました。
調べたところ、SJISとUnicodeの違いだと分かり、ID3uniを使って変換しましたが、スマホでは何も変わっておらず、題名はトラック3などと表示されたままで、しかも再生できなくなりました。音楽・動画では再生できなくなりましたが、Playミュージックでは再生できます。でもこの再生方法だと1曲だけ再生して終わってしまい、次の曲を再生してくれないので、音楽・動画で再生したいのです。機種は101Fです。よろしくお願いします。
- 締切済み
- Android
- 「彅」という文字のエンコード
今見つけたのは「彅」だけなのですが、 mb_convert_encoding()にて変換先コードをSJISにすると変換出来ません。 そこでsjis-winとすると正常に表示されました。 しかし、当然の事ながら、Linux上では表示されませんでした。 (変な縦長の四角形?のようなものが表示されました) これをLinux上で表示させるにはどういう文字コードで変換をすれば 良いのでしょうか? 出力は絶対SJISでなければなりません。(EUCやUTF-8は不可) この制限がある以上、SJISをデフォルトに考えているわけではない Linux上などで表示させる事は不可能なのでしょうか? (Windowsも独自のSJISだし・・・) どなたかご教示下さい!
- ベストアンサー
- PHP
お礼
お二方ともありがとうございます。 非常にためになりました!