回答編集履歴
2
ついき
test
CHANGED
@@ -23,4 +23,4 @@
|
|
23
23
|
$str="№川家";
|
24
24
|
var_dump( $str);
|
25
25
|
```
|
26
|
-
上記UTF8Nで保存すると文字化けが再現できるかと。
|
26
|
+
上記UTF8N(BOMなし)で保存すると文字化けが再現できるかと。
|
1
調整
test
CHANGED
@@ -10,3 +10,17 @@
|
|
10
10
|
var_dump( mb_convert_encoding($str,'UTF-8', 'utf-8, sjis-win'));
|
11
11
|
var_dump( mb_convert_encoding($str,'HTML-ENTITIES', 'utf-8, sjis-win' ) );
|
12
12
|
```
|
13
|
+
|
14
|
+
# 追記
|
15
|
+
「№川家」が「E2 84 96 E5 B7 9D E5 AE B6」で保存されているとありますがSJISであれば「87 82 90 EC 89 C6」になると思います。ご提示の化け方は以下のようにUTF8で保存された文字列をSJISで表示しようとしたときに起きる現象ですので、命題とはやっていることが違うと思います。以下確認ください
|
16
|
+
```php
|
17
|
+
<?PHP
|
18
|
+
header('Content-Type: text/html;charset=SJIS');
|
19
|
+
?>
|
20
|
+
<meta http-equiv="Content-Type" content="text/html; charset=SJIS">
|
21
|
+
<?PHP
|
22
|
+
mb_internal_encoding("SJIS");
|
23
|
+
$str="№川家";
|
24
|
+
var_dump( $str);
|
25
|
+
```
|
26
|
+
上記UTF8Nで保存すると文字化けが再現できるかと。
|