質問
文字化けで苦しんでおります。
php.iniでUTF-8と設定しておりmy.iniでutf8mb4としています。
二つの日本語設定は少しだけ違いますが、これは文字化けの原因にはなるのでしょうか?
また、どうすれば文字化けを解決できるでしょうか?
具体的な内容
laravelで送信ホームを作りデータベースに保存したら文字化けしてしまいます。
アプリは二つ試し、一つ目は文字化けせずに保存できました。
二つ目はlaravelで出てきたエラーの中で文字化けした内容でエラーが出てきてしまい、データベースの方にも文字化けした内容で保存されています。(当たり前ですが...)
laravel側でエラー時に文字化けしていることを忘れていて設定を触っていたら一つ目の方でもデータベースに保存された段階で文字化けするようになってしまいました。
設定は直したと思うのですが、まだ文字化けしているのでどなたか教えていただきたいです。
設定で見ている部分
PHP.INI
;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;;;;;;; default_charset="UTF-8" #一部省略 ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; extension=mbstring extension=exif ; Must be after mbstring as it depends on it extension=mysqli #一部省略 [mbstring] mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto ;mbstring.substitute_character = none ;mbstring.func_overload = 0
最後のした二つはコメントアウトを外していないです
my.ini
[client] default-character-set=utf8mb4 #一部省略 ## UTF 8 Settings #init-connect=SET NAMES utf8mb4 #collation_server=utf8_general_ci #character_set_server=utf8mb4 #skip-character-set-client-handshake #character_sets-dir="C:/xampp/mysql/share/charsets" sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION log_bin_trust_function_creators=1 character-set-server=utf8mb4 collation-server=utf8mb4_general_ci
エディタ(vscode)
config/app.php 'locale' => 'ja', 'fallback_locale' => 'ja', config/database.php 'mysql' => [ 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_general_ci', ],
エディタは下記のコードで見ましたが、日本語設定になっておりました。
print_r(mb_get_info());
長くなってしまいましたが、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。