スペインの特殊文字に関する問題について、助けが必要です。私が最初にやっていることの簡単な要約。Zend Google PHP API を使用して Google スプレッドシートからデータを取得する PHP スクリプトを作成しました。このデータは、MySql データベースに入れられます。
$row=$Col->getText();
//getText は、行の値を返す Google API です。
print "$row";
// コンテンツを出力します
しかし問題は、ñer などの一部のスペイン語の文字が ñer として表示されることです。PHP コードの後半で、これらの値を MySql に保存します。そして、表でも同じ問題があります。問題がどこにあるのかわかりません。
PHP iniファイルを編集して追加するなど、さまざまなことを試しました:
mbstring.language = Neutral ; Set default language to Neutral(UTF-8) (default)
mbstring.internal_encoding = UTF-8 ; Set default internal encoding to UTF-8
mbstring.encoding_translation = On ; HTTP input encoding translation is enabled
mbstring.http_input = auto ; Set HTTP input character set dectection to auto
mbstring.http_output = UTF-8 ; Set HTTP output encoding to UTF-8
mbstring.detect_order = auto ; Set default character encoding detection order to auto
mbstring.substitute_character = none ; Do not print invalid characters
default_charset = UTF-8 ; Default character set for auto content type header
mbstring.func_overload = 7 ; All non-multibyte-safe functions are overloaded with the mbstring alternatives
MySqlに以下を追加してください
init_connect='SET collation_connection = utf8_unicode_ci; SET NAMES utf8;'
character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake
データベースとテーブルのプロパティを変更する
ALTER DATABASE db_name
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci
;
ALTER TABLE tbl_name
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
;
mysql が接続を開いた直後に SETNAMES などを呼び出します。
$q="SET NAMES 'utf8'";
$r=mysql_query($q);
mysql_query("SET CHARACTER SET utf8");
しかし、何も機能していないようです。助けてください