siabanie;10985782 wrote:
In the Branch field I have few columns name
No, you don't. Column and field are two different names for the exact same thing. You can say that your table has a few fields or that your table has a few columns and it means the exact same thing.
But you can NOT say that a column has many columns, or since these names are interchangeable, that a field has many fields. And once again, since they are interchangeable, you can NOT say that a field has many columns or a column has many fields either.
siabanie;10985782 wrote:
My table name is: utf8_Alter
Field: Branch
ALTER TABLE `utf8_Alter` CHANGE `ゴルダーズグリーン` `ーン ノースロンドン` varchar( 64 )
Well, is the column you would like to change called "Branch" or is it called "ゴルダーズグリーン"? If it is called "Branch", then you would write
ALTER TABLE `utf8_Alter` CHANGE Branch ...
siabanie;10985782 wrote:
MySQL said: Documentation
#1054 - Unknown column 'ゴルダーズグリーン' in 'utf8_Alter'
The reason you get 'ゴルダーズグリーン' rather than ゴルダーズグリーン is because phpMyAdmin doesn't handle your character set properly. I don't know if there's a setting for this, but personally I'd ditch phpMyAdmin and use mySQLWorkbench. Even if my only option was the CLI, I'd use that instead of phpMyAdmin. CLI really does work fine for a lot of things.
siabanie;10985782 wrote:
The Collation in phphMyAdmin is :utf8_general_ci
No, it's not. phpMyAdmin does not have a collation, as far as I know. If it does not allow you to reorder your result sets after they are sent to the database. The collation deal with how to order things: does 'e' come before or after 'é', or are they treated the same? For example, in swedish 'o' and 'ö' are two distinct characters, and utf8_swedish_ci means that 'ö' is treated as the last letter of the alphabet, whereas in utf8_general_ci 'o' and 'ö' are treated as the same character. But wether phpMyAdmin does or doesn't have a collation doesn't matter, because it is still unrelated to the issue at hand.
The word you are looking for is character set (utf-8), but since you are talking about your DBMS general setting, your DB schema default setting, a specific table's default setting or the actual setting of a column, it is NOT phpMyAdmin that "has this setting", it is:
1. the column "Branch"
2. If no character set was specified for "Branch", use the default setting from "utf8_Alter"
3. If no character set was specified for "utf8_Alter", use the default setting from your DB Schema
4. If no character set was specified for your db schema, use the default setting for your DBMS.
And since you somewhere mentioned the character set for table "utf8_Alter" (or if it was for column "Branch", you should also be aware that you are still looking in the wrong place.
The place that matters when it comes to column names is the schema "information_schema", table "COLUMNS", field "COLUMN_NAME". If this field uses utf-8 (and it's entirely possible that it always does - I don't know), then you can use utf-8 characters for column names. If this field doesn't use utf-8, then you can't use utf-8 characters for column names, no matter what character set the specific column uses - that only relates to the character set for the data saved in this column.
However, as always when it comes to character encodings, it's important that the same encoding is used all the way, or that the proper translations from one encoding to another takes place. As such, you have to know what character set is used for a specific column, what character set is used by phpMyAdmin, and thereafter use this knowledge to properly configure your database settings for character_set_client, character_set_connection and character_set_results. You specify the character set to use for all 3 of these using "SET NAMES ...".